请问oracle触发器实现id自增 总是报错 请问哪里写错了谢谢
CREATEORREPLACETRIGGERtest_idBEFOREINSERTONusersFOREACHROWWHEN(new.idisnull)beginsele...
CREATE OR REPLACE TRIGGER test_id
BEFORE INSERT ON users
FOR EACH ROW
WHEN (new.id is null)
begin
select uses_sequence.nextval into :new.id from dual;
end; 展开
BEFORE INSERT ON users
FOR EACH ROW
WHEN (new.id is null)
begin
select uses_sequence.nextval into :new.id from dual;
end; 展开
1个回答
2015-04-07 · 知道合伙人软件行家
Axure夜话
知道合伙人软件行家
向TA提问 私信TA
知道合伙人软件行家
采纳数:1197
获赞数:1344
1992年毕业于太原理工大学,20年IT公司工作经验现任山西誉海和科技有限公司技术总监,老二牛车教育课程总监
向TA提问 私信TA
关注
展开全部
给你一个参考 添加INSERTING
CREATEORREPLACETRIGGER stu_TRG
BEFOREINSERTORUPDATEOF stuID
ON Student
FOREACHROW
BEGIN
IF INSERTING THEN
SELECT stuSeq.NEXTVAL INTO :NEW.stuID FROM DUAL;
ELSE
RAISE_APPLICATION_ERROR(-20020, '不允许更新stuID值!');
ENDIF;
END;
CREATEORREPLACETRIGGER stu_TRG
BEFOREINSERTORUPDATEOF stuID
ON Student
FOREACHROW
BEGIN
IF INSERTING THEN
SELECT stuSeq.NEXTVAL INTO :NEW.stuID FROM DUAL;
ELSE
RAISE_APPLICATION_ERROR(-20020, '不允许更新stuID值!');
ENDIF;
END;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询