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

postgresql存储函数调用变量的3种方法结论

发布时间:2021-10-09 16:09:25 所属栏目:动态 来源:互联网
导读:这篇文章主要介绍了postgresql 存储函数调用变量的3种方法小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧。 一、假设有表student,字段

这篇文章主要介绍了postgresql 存储函数调用变量的3种方法小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧。

 

一、假设有表student,字段分别有id,remark,name等字段。

 

二、写一个存储函数,根据传过去的变量ID更新remark的内容。

 

调用该存储函数格式如下:

 

1select update_student(1);

 

三、存储函数示例如下:

 

CREATE OR REPLACE FUNCTION public.update_student(id integer)

 RETURNS text AS

$BODY$

declare sql_str_run text;

BEGIN

/*

--method 1

 select 'update student set remark ='''|| now() ||''' where student.id = '|| $1 into sql_str_run ;

 execute sql_str_run;

 --method 2

 execute 'update student set remark =now() where student.id=$1' using $1;

*/

 --method 3

 update student set remark =now() where student.id=$1;

 

 return 'update is ok' ;

end

$BODY$

 LANGUAGE plpgsql VOLATILE

 

 

 

以上三种方法都可以实现同样的效果,实际应用中,可以结合场景来使用。比较简单的情况下直接用method 3。

 

比如,表名、字段名本身是变量,那么method 3 就无法实现,需要根据method 1或method 2来实现。

 

method 1或method 2 有什么区别呢?

 

如果需要拼的变量可以直接获取的,则用method2即可。如果变量本身也是需要需要通过函数或语句的计算来获得,一般建议用method 1,先拼成一个字符串,再调用execute来实现。

 

补充:postgresql存储函数/存储过程用sql语句来给变量赋值

(编辑:焦作站长网)

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

    热点阅读