Postgre SQL   发布时间:2022-05-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PostgreSQL在函数内返回returning大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
开发咨询,想在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 then
raise 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

大佬总结

以上是大佬教程为你收集整理的PostgreSQL在函数内返回returning全部内容,希望文章能够帮你解决PostgreSQL在函数内返回returning所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:delete