繁体   English   中英

如何从Postgresql中的字符串运行查询?

[英]How to run a query from a string in postgresql?

我想运行一个保存在字符串中的查询,例如: str='select 753 as number'

我尝试了exec sql,但遇到此错误:

EXEC SQL立即执行str

我也在PostgreSQL函数中使用它。 所以我有一个字符串中的动态查询。 如何在可以作为游标返回的字符串中运行查询。 像这样:

    prepare strg as 'select 7777 as number';
    open fcur for execute strg;

能做到吗

您无法执行返回“ EXECUTE IMMEDIATE string ”的行的字符串

EXECUTE IMMEDIATE立即准备并执行动态指定的SQL语句,而无需检索结果行。 来源

但是,您可以执行一个由变量托管的命令:

str='Delete * from table01'
EXEC SQL EXECUTE IMMEDIATE :str;

但是,您可以使用“准备并执行”:

prepare str as select 753 as number;
execute str;

要选择一个游标,请先打开游标 ,然后在其中选择数据

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM