云数据库 GaussDB-执行动态非查询语句:示例

时间:2023-11-01 16:22:24

示例

 1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031323334
--创建表postgres=# CREATE TABLE sections_t1(   section       NUMBER(4) ,   section_name  VARCHAR2(30),   manager_id    NUMBER(6),   place_id      NUMBER(4) )DISTRIBUTE BY hash(manager_id);--声明变量postgres=# DECLARE    section       NUMBER(4) := 280;    section_name  VARCHAR2(30) := 'Info support';    manager_id    NUMBER(6) := 103;   place_id      NUMBER(4) := 1400;   new_colname   VARCHAR2(10) := 'sec_name';BEGIN --执行查询    EXECUTE IMMEDIATE 'insert into sections_t1 values(:1, :2, :3, :4)'        USING section, section_name, manager_id,place_id; --执行查询(重复占位符)    EXECUTE IMMEDIATE 'insert into sections_t1 values(:1, :2, :3, :1)'        USING section, section_name, manager_id; --执行ALTER语句(建议采用“||”拼接数据库对象构造DDL语句)    EXECUTE IMMEDIATE 'alter table sections_t1 rename section_name to ' || new_colname;END; /--查询数据postgres=# SELECT * FROM sections_t1;--删除表postgres=# DROP TABLE sections_t1;
support.huaweicloud.com/devg-opengauss/opengauss_devg_0680.html