Sql 帮助我编译自动递增触发器
当我尝试编译以下Oracle代码时:Sql 帮助我编译自动递增触发器,sql,oracle,plsql,Sql,Oracle,Plsql,当我尝试编译以下Oracle代码时: CREATE TABLE authors ( id NUMBER PRIMARY KEY, /* what if two authors have the same name! */ name VARCHAR2(200) NOT NULL ); /* autoinrement sequence */ CREATE SEQUENCE authors_id_seq START WITH 1 INCREMENT BY 1; /* trigger r
CREATE TABLE authors (
id NUMBER PRIMARY KEY, /* what if two authors have the same name! */
name VARCHAR2(200) NOT NULL
);
/* autoinrement sequence */
CREATE SEQUENCE authors_id_seq START WITH 1 INCREMENT BY 1;
/* trigger run before every insert into authors table - copies MySQL autoincrement */
CREATE TRIGGER authors_insert_trg BEFORE INSERT ON authors
FOR EACH ROW WHEN (new.id IS NULL)
BEGIN
SELECT authors_id_seq.nextval INTO :new.id FROM FUAL;
END;
它说:
table AUTHORS created.
sequence AUTHORS_ID_SEQ created.
TRIGGER authors_insert_trg compiled
Warning: execution completed with warning
我看不出有任何错误。有人能帮我一下吗?打字:
来自FUAL
应该是来自DUAL
打字:来自FUAL
应该是来自DUAL打字:来自FUAL
应该是来自DUAL
;不知道这是否是你问题的根源。使用选择。。。在我的系统中,使用INSERT是一个奇怪的vs,但我很少使用触发器。@OMG Ponies是的,这就是问题所在。请将其作为答案发布,以便我可以接受。打字错误:来自FUAL
应该是来自DUAL
;不知道这是否是你问题的根源。使用选择。。。在我的系统中,使用INSERT是一个奇怪的vs,但我很少使用触发器。@OMG Ponies是的,这就是问题所在。请把它作为答案贴出来,这样我就可以接受了。