我正在创建一个触发器,以允许我在插入新记录时自动更新主键。根据Google的说法,这似乎是首选方法。
但是,当我运行以下SQL代码时:
CREATE OR REPLACE TRIGGER rooms_insert
BEFORE INSERT ON "ROOMS"
FOR EACH ROW
SELECT rooms_id_seq.nextval into :new.ID from dual;
发生以下错误:
Error code -1, SQL state 42X01: Syntax error: Encountered "OR" at line 1, column 8.
我不确定为什么会收到此错误,并且我尝试使用Google进行搜索,但是在固定此错误时遇到了一些麻烦。
我正在使用Netbeans与Java应用程序一起运行数据库。我感觉自己缺少明显的东西。
任何想法将不胜感激。
谢谢阅读 :)
原来,这只是Apache Derby的语法。
我不确定如何将其实现为触发器,但是以下代码创建了一个具有自动递增主键的表:
CREATE TABLE ROOMS (ID INTEGER NOT NULL(START WITH 1, INCREMENT BY 1),
ROOMNAME VARCHAR(20), PRIMARY KEY (ID));
据我所知,这是Netbeans使用的默认RDBMS,这让我措手不及。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句