博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PostgreSQL在函数内返回returning
阅读量:6865 次
发布时间:2019-06-26

本文共 904 字,大约阅读时间需要 3 分钟。

  hot3.png

开发咨询,想在function返回之前insert或者update的值,postgresql有个returning的特性,可以返回之前各种DML(insert,delete,update)掉的值,比mysql的返回last_insert_id更丰富一点。
环境:
PostgreSQL 9.3.2
CentOS 6.3
类似的Function如下:
CREATE OR REPLACE FUNCTION fun_test(v_id int, v_remark text)  RETURNS integer AS$BODY$declare    o_id int;begin   perform 1  from foo where id=v_id and remark = v_remark ;if not found then    insert into foo(remark) values (v_remark) returning id into o_id;return  o_id;else    update foo set  id=v_id, remark=v_remark where id=v_id and remark = v_remark  returning id into o_id;return o_id ;end if;exception when others thenraise exception 'exec fun fun_test error,PLZ contact DBA!';return  999;end;$BODY$  LANGUAGE plpgsql VOLATILE  COST 100;ALTER FUNCTION fun_test(int, text)  OWNER TO postgres;
参考:
http://my.oschina.net/Kenyon/blog/54376
http://my.oschina.net/Kenyon/blog/108303

转载于:https://my.oschina.net/Kenyon/blog/199689

你可能感兴趣的文章
福布斯:云计算有人气 但未到最佳状态
查看>>
虚拟化的逆袭:OpenFlow和SDN
查看>>
俄罗斯组织机构被网络间谍定向攻击
查看>>
英特尔AI CTO:人工智能训练需要新型芯片架构
查看>>
小米为什么把智能家居定义为“轻智能”?
查看>>
向DevOps环境过渡?别犯这四种错误
查看>>
从上菜太慢,谈事件管理、流程管理、数据管理
查看>>
再论基于ARM芯片的Mac 这真是你想要的?
查看>>
告别卸载软件难 四大方法轻松搞定
查看>>
看“风水反转”技术如何危害云安全
查看>>
大数据产业发展提速 500亿蛋糕待挖掘
查看>>
插画师自述:类似PaintsChainer 这样的人工智能上色网站,未来会取代我们吗?...
查看>>
摩尔定律时代即将落幕
查看>>
北京银行首席信息官王健出任副行长
查看>>
用好“数据”这笔大资产
查看>>
中国智慧城市创新大会连续三年花落沈阳
查看>>
《Scala机器学习》一一3.2 理解Spark的架构
查看>>
第五届中国网络安全大会 观信息安全“产、学、研、用”
查看>>
甲骨文重金投入云计算 德国数据中心再添3个
查看>>
质检总局发布质量安全风险警示 八成智能摄像头存安全隐患
查看>>