【发布时间】:2015-12-01 12:59:06
【问题描述】:
我需要从模式中获取表名,除了一些表
CREATE OR REPLACE FUNCTION func(unnecessary_tables TEXT)
returns void
as $$
begin
EXECUTE 'SELECT table_name FROM information_schema.tables
WHERE
table_schema=''public''
AND
table_name NOT IN( $1 )
' USING unnecessary_tables
--here execute retrieved result, etc ...
end;
$$language plpgsql
然后调用函数
select func('table1'',''table2');
这不起作用并返回结果 table1 和 table2 也。
问题是:IN 运算符如何将文本参数传递给存储函数?
【问题讨论】:
-
不应该是
select func('table1, table2');吗? -
@Gabriel's 不,我也在尝试这个,但不起作用
-
你试过
SELECT func( '''table1'',''table2''');吗?我认为有问题。
标签: postgresql plpgsql postgresql-9.5