Mysql
MYSQL 儲存過程從表中獲取整行
我是 SQL 的初學者,目前正在練習儲存過程的概念。我有一個 Fetch_Marks 表,其中包含 20 條記錄,其中 Student_No 和 Marks 作為列。現在我想為此創建一個儲存過程,其中輸入參數將為 Student_No,當我們輸入輸入時(假設我將 Student_No 設為 1),它應該從 Fetch_Marks 表中獲取該特定學生的行。有什麼解決方法嗎?如果是,請幫忙。
你基本上不需要一個程序。
當您需要除 SQL 之外的“正常”程式以使某些丁字褲變得更加複雜時,使用 CURSOR 和 LOOP 的過程會變得有趣
DROP procedure IF EXISTS `proc_get Student`; DELIMITER $$ CREATE PROCEDURE `proc_get Student` ( IN _student_no BIGINT) BEGIN SELECT * FROM Fetch_Marks WHERE Student_No = _student_no; END$$ DELIMITER ;
但我猜這是某種作業,變數 _student_no 是因為你有一個光學標記,它是一個本地定義的變數
這是另一個範例:在此,我們添加了第二個 IN 變數,並在其中檢查它們是否為 NULL 或 NOT,然後選擇想要的數據
DROP procedure IF EXISTS `proc_get Student`; DELIMITER $$ CREATE DEFINER=`root`@`%` PROCEDURE `proc_get Student`( IN _student_no BIGINT,IN _roll_no BIGINT) BEGIN IF ( _student_no IS NOT NULL AND _roll_no IS NULL) THEN SELECT * FROM Fetch_Marks WHERE Student_No = _student_no; END IF; END$$ DELIMITER ;