我oracle 用的不多,目前还在学习阶段,因此希望大家不吝赐教
我在system 下面建个表 books 里面有个ID属性 我想让他成为自增序列
我写了下面
CREATE SEQUENCE SEQname
INCREMENT BY 1
START WITH 1
MAXVALUE 99999999CREATE TRIGGER TRGname
BEFORE INSERT ON BOOKS
REFERENCING
NEW AS :NEW
FOR EACH ROW
Begin
SELECT SEQname.NEXTVAL
INTO :NEW.ID
FROM DUAL;
End;
这段代码是我在网上找的 我改的对不对 ,运行这段程序在哪运行? 我数据库是oracle10g
大家帮帮我
我在system 下面建个表 books 里面有个ID属性 我想让他成为自增序列
我写了下面
CREATE SEQUENCE SEQname
INCREMENT BY 1
START WITH 1
MAXVALUE 99999999CREATE TRIGGER TRGname
BEFORE INSERT ON BOOKS
REFERENCING
NEW AS :NEW
FOR EACH ROW
Begin
SELECT SEQname.NEXTVAL
INTO :NEW.ID
FROM DUAL;
End;
这段代码是我在网上找的 我改的对不对 ,运行这段程序在哪运行? 我数据库是oracle10g
大家帮帮我
怎么回事 我把PLUS关了 试图
SQL> insert into BOOKS values('ss','25');
insert into BOOKS values('ss','25')
*
第 1 行出现错误:
ORA-00947: 没有足够的值
没有成功啊 怎么回事?
BEFORE INSERT ON BOOKS
REFERENCING
NEW AS :NEW
FOR EACH ROW
Begin
SELECT SEQname.NEXTVAL
INTO :NEW.ID
FROM DUAL;
End;
/在sqlplus 中执行的时候,需要加上一个/表示结束
*
第 4 行出现错误:
ORA-04074: 无效的 REFERENCING 名称
在oracle10g的触发器管理 面显示 触发器主体
Begin
SELECT SEQname.NEXTVAL
INTO :NEW.ID
FROM DUAL;
End;我BOOKS 表的结构是 ID NAME AGE
可是我用 SQL> insert into BOOKS values('so','25');
insert into BOOKS values('so','25')
*
第 1 行出现错误:
ORA-00947: 没有足够的值
这是怎么回事?
2 BEFORE INSERT ON test_10
3 REFERENCING NEW AS NEW --NEW
4 FOR EACH ROW
5 Begin
6 SELECT SEQname.NEXTVAL
7 INTO :NEW.id
8 FROM DUAL;
9 End;
10 /Trigger created
爱死你