私は 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
func2
である c 引数で呼び出します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))
それもうまくいきません。