更新时间:2024-11-01 GMT+08:00
调用语句
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
--建表 openGauss=# CREATE SCHEMA hr; openGauss=# SET CURRENT_SCHEMA = hr; openGauss=# CREATE TABLE staffs ( section_id INTEGER, salary INTEGER ); openGauss=# INSERT INTO staffs VALUES (30, 10); openGauss=# INSERT INTO staffs VALUES (30, 20); --创建存储过程proc_staffs openGauss=# 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 hr.staffs where section_id = section; END; / --创建存储过程proc_return. openGauss=# CREATE OR REPLACE PROCEDURE proc_return AS v_num NUMBER(8,2); v_sum INTEGER; BEGIN proc_staffs(30, v_sum, v_num); --调用语句 dbe_output.print_line(v_sum||'#'||v_num); RETURN; --返回语句 END; / --调用存储过程proc_return. openGauss=# CALL proc_staffs(2,8,6); --清除存储过程 openGauss=# DROP PROCEDURE proc_staffs; openGauss=# DROP PROCEDURE proc_return; --创建函数func_return. openGauss=# CREATE OR REPLACE FUNCTION func_return returns void language plpgsql AS $$ DECLARE v_num INTEGER := 1; BEGIN dbe_output.print_line(v_num); RETURN; --返回语句 END $$; -- 调用函数func_return openGauss=# CALL func_return(); -- 清除函数 openGauss=# DROP FUNCTION func_return; -- 清除当前数据库模式 openGauss=# DROP SCHEMA hr CASCADE; |
父主题: 基本语句