加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 16:39:11 所属栏目:百科 来源:网络整理
导读: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 = '' AN
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 
$$;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读