云数据库 GaussDB-动态调用存储过程:示例

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

示例

 1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031
--创建存储过程proc_add。gaussdb=# CREATE OR REPLACE PROCEDURE proc_add(    param1    in   INTEGER,    param2    out  INTEGER,    param3    in   INTEGER)ASBEGIN   param2:= param1 + param3;END;/gaussdb=# DECLARE    input1 INTEGER:=1;    input2 INTEGER:=2;    statement  VARCHAR2(200);    param2     INTEGER;BEGIN   --声明调用语句    statement := 'call proc_add(:col_1, :col_2, :col_3)';    --执行语句    EXECUTE IMMEDIATE statement        USING IN input1, OUT param2, IN input2;    dbe_output.print_line('result is: '||to_char(param2));END;/result is: 3ANONYMOUS BLOCK EXECUTE--删除存储过程gaussdb=# DROP PROCEDURE proc_add;
support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0779.html