表的另一个缺少FROM子句的条目

时间:2014-12-03 11:30:32

标签: postgresql

我是postgresql的新手,我有触发器的这个问题,应该从序列中获取值。如果我理解正确,(试过几个例子),如果你不需要条款FROM(就像在ORACLE中你会添加'来自双重')。

Trigger看起来像这样:

CREATE OR REPLACE FUNCTION public.trigger_fct_name_id_autoinc()
RETURNS trigger AS
$$
BEGIN
    SELECT "NAME_ID_SEQ".NEXTVAL INTO NEW."ID" ;
RETURN NEW;
END
$$
LANGUAGE 'plpgsql';

当然,我做错了什么。我得到的错误是:

  

错误:缺少FROM-clause条目表" NAME_ID_SEQ"其中:PL / pgSQL函数trigger_fct_name_id_autoinc()在SQL语句中的第3行

试图在网上找到一些答案,但要么没有,要么我不太了解postgresql以了解人们写的内容。在大多数主题中,答案都涉及别名,但我不认为这是个案。

我应该以某种方式添加FROM子句,还是只是一个不同问题的标志?

1 个答案:

答案 0 :(得分:3)

您正在使用Oracle语法从序列中获取下一个值。使用Postgres'nextval

SELECT nextval('NAME_ID_SEQ') INTO NEW."ID" ;