我正在使用 PostgreSQL 和 plpython 函数。
我有一个功能func1
:
CREATE OR REPLACE FUNCTION func1(a integer, b timestamp with time zone, c integer[])
RETURNS SETOF x AS
$BODY$
parts=plpy.execute("SELECT * FROM func2(%s)"%c)
$BODY$
LANGUAGE plpythonu VOLATILE
func1
使用 c 参数调用func2
,即integer[]
.
CREATE OR REPLACE FUNCTION func2(v_c integer[])
RETURNS SETOF y AS
$BODY$
.
.
.
$BODY$
LANGUAGE plpythonu VOLATILE
从 SQL 查询运行时
select *
from func1(3,'14-Feb-2012','{-2,30747,30906}')
我收到以下错误:
ERROR: spiexceptions.SyntaxError: syntax error at or near "["
LINE 1: SELECT * FROM func2([-2, 30747, 30906])
通过的东西intger[]
不起作用我也试过:
plpy.execute("SELECT * FROM func2(%s)"%str(c))
它也不起作用。