CALL — 呼叫儲存過程
CALLname
( [argument
] [, ...] )
CALL
執行一個儲存過程。
如果儲存過程有任何輸出引數,則會返回一個結果行,其中包含這些引數的值。
name
儲存過程的名稱(可選的模式限定)。
argument
儲存過程呼叫的引數表示式。
引數可以使用以下語法包含引數名稱:
。這與普通函式呼叫相同;有關詳細資訊,請參閱 第 4.3 節。name
=> value
必須為所有缺少預設值的儲存過程引數提供引數,包括 OUT
引數。但是,匹配 OUT
引數的引數不會被評估,因此通常只為它們編寫 NULL
。(為 OUT
引數編寫其他內容可能會導致與未來 PostgreSQL 版本相容性問題。)
使用者必須擁有該儲存過程的 EXECUTE
許可權才能呼叫它。
要呼叫函式(而不是儲存過程),請改用 SELECT
。
如果在事務塊中執行 CALL
,那麼被呼叫的儲存過程不能執行事務控制語句。只有當 CALL
在其自己的事務中執行時,才允許事務控制語句。
PL/pgSQL 在 CALL
命令中處理輸出引數的方式不同;請參閱 第 41.6.3 節。
CALL do_db_maintenance();
CALL
符合 SQL 標準,除了對輸出引數的處理。標準規定使用者應該編寫變數來接收輸出引數的值。
如果您在文件中發現任何不正確、與您在該特定功能上的使用經驗不符或需要進一步澄清的內容,請使用 此表單 報告文件問題。