0

我在使用LASTVAL()函数时遇到问题。我有一个触发器:

CREATE OR REPLACE FUNCTION schema_name.function_name() RETURNS TRIGGER AS
  $BODY$
  DECLARE
    registry_id bigint;
  BEGIN
    INSERT INTO schema_name.table_name(column1, column2) VALUES (value1, value2);
    SELECT LASTVAR() INTO registry_id;
    ...

当触发器被触发时,我收到错误:

ERROR:  function lastvar() does not exist
LINE 1: SELECT LASTVAR()
               ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
QUERY:  SELECT LASTVAR()
CONTEXT:  PL/pgSQL function "function_name" line 5 at SQL statement

该表有一个 PK 列,其中一个 SEQUENCE 作为默认值:

...
table_name_id bigint NOT NULL DEFAULT nextval('table_name_seq'::regclass),
...
4

1 回答 1

0

您写了 LASTVAR() 而不是 LASTVAL() (R而不是L)。

于 2012-07-06T15:53:04.337 回答