PG 存储函数调用变量的3种方法

一、假设有表student,字段分别有id,remark,name等字段。
二、写一个存储函数,根据传过去的变量ID更新remark的内容。
调用该存储函数格式如下:select 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;
如果需要拼的变量可以直接获取的,则用method2即可;
如果变量本身也是需要需要通过函数或语句的计算来获得,一般建议用method 1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值