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

postgresql 中 类似 oracle EXECUTE IMMEDIATE 的写法

发布时间:2020-12-13 17:16:53 所属栏目:百科 来源:网络整理
导读:在pl/pgsql中,执行动态SQL的格式如下(摘录自说明文档): 1 EXECUTEcommand-string[INTO[STRICT]target][usingexpression[,...]]; 其中, command-string就是要执行的动态sql语句(一定要记住:这里是sql语句,不是pl/pgSQL语句,像raise notice就不能使用);

在pl/pgsql中,执行动态SQL的格式如下(摘录自说明文档):

1
EXECUTEcommand-string[INTO[STRICT]target][usingexpression[,...]];

其中,

command-string就是要执行的动态sql语句(一定要记住:这里是sql语句,不是pl/pgSQL语句,像raise notice就不能使用);

INTO子句是把sql查询到的值赋给INTO指定的变量;

using子句是前面的command-string中替代变量($1,$2,...)的赋值;

示例:

1
2
3
4
5
6
7
8
9
do$$
declare
v_c 1 integer;
v_c 2 integer;
begin
execute 'selectcount(*)asc1,count(*)asc2from(select1asidxunionselect11asidxunionselect21asidx)swhereidx>$1'
intov_c 1 ,v_c 2
using 10 ;

raisenotice '%,%' ,v_c 1 ,v_c 2 ;

(编辑:李大同)

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

    推荐文章
      热点阅读