在 sql 中調用存儲過程的語法:call procedure_name(parameter1, parameter2, …)。存儲過程的參數類型可以是輸入、輸出或輸入/輸出類型,語法為:call procedure_name(in | out | inout parameter_name datatype)。要獲取輸出參數的值,使用 @ 符號,后跟參數名稱:select @output_parameter_name;。
如何在 SQL 中調用存儲過程
存儲過程是預編譯和存儲在數據庫中的已命名 SQL 代碼塊。它們被用來執行常見的或復雜的數據庫操作,可以提高性能和代碼可重用性。
調用存儲過程的語法
在 SQL 中調用存儲過程的語法如下:
CALL procedure_name(parameter1, parameter2, ...);
登錄后復制
其中:
procedure_name 是要調用的存儲過程的名稱。
parameter1, parameter2, … 是要傳遞給存儲過程的參數。
示例
以下示例調用名為 GetCustomerOrders 的存儲過程,該存儲過程需要一個參數 customer_id:
CALL GetCustomerOrders(10);
登錄后復制
傳遞參數類型
存儲過程的參數可以是以下類型:
輸入參數:用于傳遞值給存儲過程。
輸出參數:用于從存儲過程返回值。
輸入/輸出參數:既可以傳遞值給存儲過程,又可以從存儲過程返回值。
傳遞參數類型的語法如下:
CALL procedure_name(IN | OUT | INOUT parameter_name datatype);
登錄后復制
其中:
IN, OUT, INOUT 指定參數類型。
parameter_name 是參數的名稱。
datatype 是參數的數據類型。
獲取輸出參數值
要獲取輸出參數的值,可以使用 @ 符號,后跟參數名稱:
SELECT @output_parameter_name;
登錄后復制
注意事項
存儲過程名稱必須存在于當前數據庫或 schema 中。
參數列表必須與存儲過程定義中的參數列表匹配。
輸出參數必須在存儲過程中聲明為 OUT 或 INOUT。
存儲過程可以返回多個結果集。