云数据库 GaussDB-调用语句:示例

时间:2025-02-12 15:08:12

示例

 1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
--建表gaussdb=# CREATE SCHEMA hr;gaussdb=# SET CURRENT_SCHEMA = hr;gaussdb=# CREATE TABLE staffs (  section_id INTEGER,   salary INTEGER);gaussdb=# INSERT INTO staffs VALUES (30, 10);gaussdb=# INSERT INTO staffs VALUES (30, 20);--创建存储过程proc_staffsgaussdb=# CREATE OR REPLACE PROCEDURE proc_staffs(vIMsection     NUMBER(6),salary_sum out NUMBER(8,2),staffs_count out INTEGER)ISBEGINSELECT sum(salary), count(*) INTO salary_sum, staffs_count FROM hr.staffs where section_id = section;END;/CREATE PROCEDURE--创建存储过程proc_return.gaussdb=# CREATE OR REPLACE PROCEDURE proc_returnASv_num NUMBER(8,2);v_sum INTEGER;BEGINproc_staffs(30, v_sum, v_num);  --调用语句dbe_output.print_line(v_sum||'#'||v_num);RETURN;  --返回语句END;/CREATE PROCEDURE--调用存储过程proc_return.gaussdb=# CALL proc_return();30#2.00 proc_return -------------(1 row)--清除存储过程gaussdb=# DROP PROCEDURE proc_staffs;gaussdb=# DROP PROCEDURE proc_return;--创建函数func_return.gaussdb=# CREATE OR REPLACE FUNCTION func_return returns voidlanguage plpgsqlAS $$DECLAREv_num INTEGER := 1;BEGINdbe_output.print_line(v_num);RETURN;  --返回语句END $$;CREATE FUNCTION-- 调用函数func_returngaussdb=# CALL func_return();1 func_return -------------(1 row)-- 清除函数gaussdb=# DROP FUNCTION func_return;-- 清除当前数据库模式gaussdb=# DROP SCHEMA hr CASCADE;
support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0775.html