调用语句

语法

调用一个语句的语法请参见图1

图 1 call_clause::=
调用语句 - 图1

对以上语法格式的解释如下:

  • procedure_name:存储过程名。
  • parameter:存储过程的参数,可以没有或者有多个参数。

示例

  1. --创建存储过程proc_staffs
  2. postgres=# CREATE OR REPLACE PROCEDURE proc_staffs
  3. (
  4. section NUMBER(6),
  5. salary_sum out NUMBER(8,2),
  6. staffs_count out INTEGER
  7. )
  8. IS
  9. BEGIN
  10. SELECT sum(salary), count(*) INTO salary_sum, staffs_count FROM hr.staffs where section_id = section;
  11. END;
  12. /
  13. --调用存储过程proc_return.
  14. postgres=# CALL proc_staffs(2,8,6);
  15. --清除存储过程
  16. postgres=# DROP PROCEDURE proc_staffs;