在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>' intov_c 1 ,v_c 2 using 10 ;
raisenotice '%,%' ,v_c 1 ,v_c 2 ; |
以上是内存溢出为你收集整理的postgresql 中 类似 oracle EXECUTE IMMEDIATE 的写法全部内容,希望文章能够帮你解决postgresql 中 类似 oracle EXECUTE IMMEDIATE 的写法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)