CREATE TRIGGER FILMS2_BEFORE_INSERT_ROW
BEFORE INSERT ON films2
FOR EACH ROW
Begin
SELECT SDID.NEXTVAL FROM DUAL;
End;
/
要实现什么?
BEFORE INSERT ON films2
FOR EACH ROW
Begin
SELECT SDID.NEXTVAL FROM DUAL;
End;
/
要实现什么?
解决方案 »
- ubuntu instrall oracle11g error
- 过程执行很慢要78秒,把变量代进过程里执行sql却很快0.8秒,为毛?咋办?
- 数据库启动不了 在线等
- oci OCITransStart函数的使用
- 这种功能怎么实现?
- 一个关于游标的问题
- 急问:安装到第二碟时,安装程序不走了,退出后重新安装出错
- 如何在每个字段内容前面插入内容??
- 需要用程序读取oracle中存储过程的参数个数和类型以及是输入还是输出,如何?
- 这里可以不可以找到Oracle入门的东东?
- oracle 8i 与oracle 9i 之间的数据导入问题?
- 8i服务器。我通过database assistant 新建了一个数据库,然后怎么就找不到他了呢!在企业管理器里也不见其身影!
其中的id 为字段
CREATE TRIGGER FILMS2_BEFORE_INSERT_ROW
BEFORE INSERT ON films2
FOR EACH ROW
Begin
SELECT SDID.NEXTVAL INTO :NEW.DID FROM DUAL;
End;DID 是 films2 的字段吧?
还是一样的错误.我在
Begin
End;
中不写语句也会出错
create or replace FILMS2_BEFORE_INSERT_ROW
before insert on films2 for each row
declare
next_id number;
begin
select SDID.NEXTVAL into next_id from dual;
:new.id := next_id;
end;
1、你建的触发器做什么用?
2、语句insert into films2 ( CODE, TITLE, DID ) values ( 'ss14','tss1s4',190 )
在那执行?sql> 还是程序中?
3、1和2之间有何联系?
Begin
NULL;
End;
BEFORE INSERT ON films2
FOR EACH ROW
Begin
NULL;
End;还是提示
trigger 'SYSTEM.FILMS2_BEFORE_INSERT_ROW' is invalid and failed re-validation目的是在 films2 中增加自增主键 DID
2 code CHARACTER(5),
3 title CHARACTER VARYING(40),
4 did DECIMAL(3),
5 date_prod DATE,
6 kind CHAR(10)
7 );表已创建。SQL>
SQL> CREATE SEQUENCE SDID
2 INCREMENT BY 1
3 START WITH 1
4 MAXVALUE 99999999
5 /序列已创建。SQL>
SQL> CREATE TRIGGER FILMS2_BEFORE_INSERT_ROW
2 BEFORE INSERT ON films2
3 FOR EACH ROW
4 Begin
5 null;
6 End;
7 /触发器已创建
ORA-04089: cannot create triggers on objects owned by SYSSQL> connect system /as sysdba
Enter password:
Connected.
SQL> CREATE TRIGGER aaaa_BEFORE_INSERT_ROW
BEFORE INSERT ON aaaa
FOR EACH ROW
Begin
SELECT FFFF1.NEXTVAL FROM DUAL;
End;
/
2 3 4 5 6 7 CREATE TRIGGER aaaa_BEFORE_INSERT_ROW
*
ERROR at line 1:
ORA-04089: cannot create triggers on objects owned by SYS
这样创建触发器 那错了? 在线等(wfdoohla)
如何建立自增主键(wfdoohla)