Postgresql的pl/pgql用法--将多条执行语句作为一个事务

DO $$  
DECLARE  
	v_id bigint;  
begin  
	--1.
	INSERT INTO r_test_a (name,value,unit,mode,uid,create_ts)  
	SELECT 't_t','',2,extract(epoch from now())::bigint 
	WHERE NOT EXISTS (SELECT id FROM r_test_a WHERE name = 't_t' AND value = '' AND unit = '' AND uid =0);
	--2.
	SELECT id into v_id from r_test_a WHERE name = 't_t' AND value = '' AND unit = '' AND uid = 0;
	--3.
	DELETE FROM r_test_b a WHERE a.obj_id = 'xxx' AND a.file_id = 'ooo' AND a.id IN (SELECT id FROM r_test_a b  WHERE b.name = 't_t' AND b.uid=0); 
	--4.
	INSERT INTO r_test_b (id,obj_id,file_id,create_ts) SELECT v_id,'xxx','ooo',extract(epoch from now())::bigint ;
end 
$$;

相关文章

文章浏览阅读601次。Oracle的数据导入导出是一项基本的技能,...
文章浏览阅读553次。开头还是介绍一下群,如果感兴趣polardb...
文章浏览阅读3.5k次,点赞3次,收藏7次。折腾了两个小时多才...
文章浏览阅读2.7k次。JSON 代表 JavaScript Object Notation...
文章浏览阅读2.9k次,点赞2次,收藏6次。navicat 连接postgr...
文章浏览阅读1.4k次。postgre进阶sql,包含分组排序、JSON解...