VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

调用语句

语法格式

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

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;