Share via


指定參數名稱

每個預存程序都必須以唯一的名稱定義。就像標準的 Transact-SQL 變數一樣,預存程序的參數名稱必須以一個 @ 字元開始,而且必須遵守物件識別碼的規則。預存程序中可以使用參數名稱來取得和變更參數的值。

將數值傳給預存程序的方式有兩種:明確為參數命名,並指定適當的數值;或提供 CREATE PROCEDURE 陳述式中指定的參數值,但不命名。例如,如果 my_proc 預存程式預期有三個參數,名稱分別為 @first@second@third,您可以將傳給預存程序的數值指定給參數名稱,例如:

EXECUTE my_proc @second = 2, @first = 1, @third = 3;

或依照位置但不命名:

EXECUTE my_proc 1, 2, 3;

如果在執行預存程序時為參數命名,就能以任何順序提供參數。如果參數未命名,指定的順序就必須與預存程序中定義的順序一樣 (由左到右)。此外,您必須提供參數給指定參數前的所有參數,即使他們是選擇性的參數而且有預設值。例如,如果 my_proc 的參數都是選擇性的,那麼執行 my_proc 時可以只提供第一、二個參數的值,但不能只提供第二、三個參數的值。這是必要的,否則 Microsoft SQL Server 無法識別所指定的參數。