我想基于一个字符串执行一条 SQL 语句。我通过一个返回字符串的函数创建了 SQL 语句。谁能解释我如何执行返回的语句?我知道你不能用普通的 SQL 来做,所以我想把它放在一个函数中。唯一的问题是语句中的列并不总是相同的,所以我不知道要为这些列使用哪些数据类型。我正在使用 Postgres 9.1.0。
例如,假设从我的函数返回的 SQL 字符串是:
从 abc 中选择打开、关闭、丢弃
但是,也可以是: Select open from abc
或 从 abc 中选择打开、关闭
如何执行这些字符串中的任何一个,以便将结果作为仅包含语句中列出的列的表返回?
编辑:该函数是用 PL/pgSQL 编写的。结果将用于报告他们不想看到没有值的列。因此,我编写的函数返回所有具有值的列的名称,然后将其添加到 SQL 语句中。
谢谢你的帮助!