在返回多行结果的动态INSERT、UPDATE或DELETE语句中,我们可以使用RETURNING BULK COLLECT INTO子句来批量绑定输出变量。 批量FETCH这个语句能让我们从动态游标中取得数据,就跟从静态游标中取得的方法是一样的。语法如下: FETCH dynamic_cursor BULK COLLECT INTO define_variable
2.PORTAL_ONE_RETURNING 包含一个INSERT/UPDATE/DELETE查询,且带RETURNING条件。 SQLINSERT INTO ret_tbl (id) VALUES (3) RETURNING id INTO tableId; 3.PORTAL_ONE_MOD_WITH 包含一个SELECT查询并且有修改的CTE。 SQLWITH ins AS ( INSERT INTO t1 (t1_id) VALUES(1) RETURNING t1_id) SELECT * from ...
declare r record; begin NEW.id := NEW.id+1; raise notice '%, id:%', TG_NAME, NEW.id; -- 修改NEW.id , 并返回修改后的NEW . return NEW; end; language plpgsql; CREATE FUNCTION – 插入测试数据 postgres=# insert into t_ret values (123,’digoal’,now()); NOTICE: 00000: tg01, i...
SQL命令可以是SELECT、带RETURNING 子句的INSERT/UPDATE/DELETE和其它返回数据行的SQL命令(如EXPLAIN)。 提示: 如果想在PL/pgSQL 函数里以一个查询结果为基础建表,应该用CREATE TABLE ... AS SELECT命令,不要用 SELECT INTO命令。 如果target是数据行变量或简单变量的列表,查询结果的列的数据类型必须与target的数据...
SQL函数的主体必须是一个有分号(;)分隔的SQL语句的列表。SQL函数被声明返回void,最后一个语句必须是一个SELECT或者一个带有RETURNING子句的INSERT、UPDATE、DELETE。SQL函数的返回类型可以通过SETOF xx 或者RETURNSTABLE() 方式声明返回一个集合(多个行) SQL函数的参数 ...
如上所述,表中的数据可以通过SELECT INTO、FETCH INTO、RETURNING INTO传入记录变量中。而记录变量也可以通过特殊语法来将其内容插入表中。 CREATE TABLE test(id INT, name VARCHAR(10)); DECLARE TYPE r_type IS RECORD(id INT, name VARCHAR(10)); r r_type := r_type(1, 'a'); BEGIN INSERT INTO...
INSERT INTO on_hand VALUES (ROW('fuzzy dice', 42, 1.99), 1000); yiibai.com 此有效的定义同上的inventory_item的。行关键字实际上是可选的表达式中,只要有一个以上的字段。 访问复合类型 要访问一个复合列的字段,字段名,使用点很像选择字段从一个表名。例如,要选择一些子字段,on_hand示例表的查询将...
包含一个INSERT/UPDATE/DELETE查询,且带RETURNING条件。 INSERT INTO ret_tbl (id) VALUES (3) RETURNING id INTO tableId; 包含一个SELECT查询并且有修改的CTE。 WITH ins AS ( INSERT INTO t1 (t1_id) VALUES(1) RETURNING t1_id) SELECT * from ins; ...
包含一个INSERT/UPDATE/DELETE查询,且带RETURNING条件。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 INSERT INTO ret_tbl (id) VALUES (3) RETURNING id INTO tableId; 包含一个SELECT查询并且有修改的CTE。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 WITH ins AS ( INSERT INTO t1 (t1...
{"a":1,"b":2 ⽂档版本:20190827 }') 分析型数据库PostgreSQL版 ⽤⼾指南 / 3 数据库查询和操作 => insert into tj(ary, obj, num) values('{1,5}'::int[], '{"obj":1}', 5 ); INSERT 0 1 => select row_to_json(q) from (select id, ary, obj, num from tj) as q;...