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

这篇文章主要介绍了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语句来给变量赋值
【声明】:茂名站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章