2
我解決不了這個無參數$ 1:PL/pgSQL的存在EXECUTE語句
CREATE OR REPLACE FUNCTION dpol_insert(
dpol_cia integer, dpol_tipol character, dpol_nupol integer,
dpol_conse integer,dpol_date timestamp)
RETURNS integer AS
$BODY$
DECLARE tabla text := 'dpol'||EXTRACT (YEAR FROM $5::timestamp);
BEGIN
EXECUTE '
INSERT INTO '|| quote_ident(tabla) ||'
(dpol_cia, dpol_tipol, dpol_nupol, dpol_conse, dpol_date) VALUES ($1,$2,$3,$4,$5)
';
END
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
當試圖
SELECT dpol_insert(1,'X',123456,1,'09/10/2013')
返回一條消息:
ERROR: there is no parameter $1
LINE 3: ...tipol, dpol_nupol, dpol_conse, dpol_date) VALUES ($1,$2,$3,$...
^
QUERY:
INSERT INTO dpol2013
(dpol_cia, dpol_tipol, dpol_nupol, dpol_conse, dpol_date) VALUES ($1,$2,$3,$4,$5)
CONTEXT: PL/pgSQL function "dpol_insert" line 4 at EXECUTE statement
*** 錯誤 ** *
ERROR: there is no parameter $1
SQL state: 42P02
Context: PL/pgSQL function "dpol_insert" line 4 at EXECUTE statement
非常感謝! – stefmex
@mu太短:這是我在我的SQL函數中得到的錯誤。我還沒有能夠解決它,也許你有一些指針? -謝謝! http://stackoverflow.com/questions/19918385/calling-a-stored-procedure-within-a-stored-procedure –