创建PostgreSQL过程的代码中出现错误

vjhs03f7  于 2024-01-07  发布在  PostgreSQL
关注(0)|答案(1)|浏览(204)
CREATE OR REPLACE FUNCTION 
    Cree_RefFacture() 
RETURNS trigger 
AS 
$BODY$ 
    BEGIN 
        NEW."RefFacture" := nextval("dbo.Base_Factures_RefFacture_seq"); 
        RETURN NEW; 
    END; 
$BODY$ 
LANGUAGE plpgsql;

字符串
我在这一行得到语法错误:

Syntax error on or near “NEW” 
LINE 7:NEW."RefFacture":=nextval"dbo.Base_Factures_RefFacture_seq");


你觉得有什么不对吗?
我试过各种解决办法,但总是出现同样的错误。你能帮我吗

bejyjqdl

bejyjqdl1#

不需要触发器和触发器函数来获取主键的id,只需要使用标识列就可以了。
范例:

CREATE TABLE t1(
    id_t1 INT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
    content TEXT
);

INSERT INTO t1(content)
VALUES ('my content'), ('some other content')
RETURNING id_t1;

SELECT * FROM t1;

字符串

相关问题