【问题标题】:PostgreSQL-dynamic sql inside function?PostgreSQL动态sql里面的函数?
【发布时间】:2013-10-03 14:45:38
【问题描述】:

我有一个 PostgreSQL 函数,它以一个字符串作为参数/这是动态 sql 查询/并执行该动态 SQL,我期望动态查询的结果。

似乎在 PostgreSQL 中我应该预先定义我将返回的内容 - 但这是不可能的,因为我正在执行动态语句,有时我会返回一个 int 列,有时我会返回 5 个 varchar 列......

另一件事是现有的 jdbc 代码将调用该函数-我无法更改它-我无法动态定义类型,例如:

{call execute_dynamic(?) as (a varchar(255),b int)};

The code that will call the procedure is: 

{call execute_dynamic(?)}

并且无法更改....

有没有办法实现这个?

【问题讨论】:

    标签: sql postgresql dynamic-sql


    【解决方案1】:

    解决方案是使用 refcursor 作为返回类型。

    OPEN ref_cursor FOR EXECUTE dynamic_sql;
     return ref_cursor;
    

    【讨论】:

      猜你喜欢
      • 2021-12-09
      • 2011-11-13
      • 2020-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多