调用语句
语法格式
调用一个语句的语法请参见下图。
call_clause::=
参数说明
procedure_name
存储过程名。
parameter
存储过程的参数,可以没有或者有多个参数。
示例
1、创建表并插入测试数据。
create table staffs(
section_id int,
salary int
);
insert into staffs values(1,1000);
insert into staffs values(2,1000);
insert into staffs values(3,1000);
insert into staffs values(4,1000);
insert into staffs values(5,1000);
insert into staffs values(6,1000);
insert into staffs values(7,1000);
insert into staffs values(8,1000);
2、创建存储过程proc_staffs。
CREATE OR REPLACE PROCEDURE proc_staffs
(
section NUMBER(6),
salary_sum out NUMBER(8,2),
staffs_count out INTEGER
)
IS
BEGIN
SELECT sum(salary), count(*) INTO salary_sum, staffs_count FROM staffs where section_id = section;
END;
/
3、调用存储过程proc_staffs。
CALL proc_staffs(2,8,6);
结果显示如下:
salary_sum | staffs_count
------------+--------------
1000 | 1
(1 row)
4、清除存储过程 。
DROP PROCEDURE proc_staffs;