小编ste*_*mex的帖子

Pl/pgSQL在EXECUTE语句中没有参数$ 1

我无法解决这个问题:

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;
Run Code Online (Sandbox Code Playgroud)

在尝试时

SELECT dpol_insert(1,'X',123456,1,'09/10/2013')
Run Code Online (Sandbox Code Playgroud)

返回下一条消息:

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) …
Run Code Online (Sandbox Code Playgroud)

postgresql plpgsql

3
推荐指数
1
解决办法
9310
查看次数

标签 统计

plpgsql ×1

postgresql ×1