CALL — 呼叫程序
CALLname
( [argument
] [, ...] )
CALL
執行一個程序。
如果程序有任何輸出參數,則會傳回一個結果列,其中包含這些參數的值。
name
程序的名稱 (可選的帶有 schema 限定)。
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 標準,但輸出參數的處理方式除外。 該標準規定使用者應編寫變數以接收輸出參數的值。
如果您在文件中看到任何不正確、與您使用特定功能的經驗不符或需要進一步說明的內容,請使用此表格來報告文件問題。