我建立了一个触发器t_add 当t1中插入数据时t2中自动插入一条。
create table t1(
id number(4),
name varchar2(20)
);create table t2(
id number(4),
name varchar2(20)
);
CREATE OR REPLACE TRIGGER t_add
BEFORE
insert on t1
FOR EACH ROW
begin
IF INSERTING THEN insert into t2(id,name) values(new.id,new.name);
END;可是创建触发器时创建失败,请问各位大哥是为什么啊?
解决方案 »
- 我在sun 440服务器上安装solaris9系统出现了问题
- ORACLE SQL语句求差
- 请教!关于自定义类型导入导出的问题
- 一条sql语句可以同时插入,删除两张表的数据么,怎么写(不用触发器,存储过程)
- 什么是外连接?
- ERROR:ORA-12514: TNS:listener does not currently know of service requested in connect
- 一个java程序传一个insert语句出错,怎么能在日志文件查看到出错信息?急
- 高分请救一个SQL问题?
- 将verchar2型转换成data型
- 在vc中新建一个oracle数据库项目后,为什么我建的表一个都看不见?
- 现在学习oracle是选10g还是11g
- 一个小问题
CREATE OR REPLACE TRIGGER t_add
BEFORE
insert on t1
FOR EACH ROW
begin
IF INSERTING THEN insert into t2(id,name) values(:new.id,:new.name);
end if;--不是new 是:new ,而且要endif
--其实你这个不用if语句的
--这样就可以了insert into t2(id,name) values(:new.id,:new.name);
END;
CREATE OR REPLACE TRIGGER t_add
BEFORE insert on t1
FOR EACH ROW
begin
IF INSERTING THEN insert into t2(id,name) values(:new.id,:new.name); --冒号
end if; --加end if
END;
CREATE OR REPLACE TRIGGER t_add
BEFORE insert on t1
FOR EACH ROW
begin
insert into t2(id,name) values(new.id,new.name);
END;
MySQL server version for the right syntax to use near 'END if' at line 1
CREATE TRIGGER t_add
BEFORE insert on t1
FOR EACH ROW
begin
insert into t2(id,name) values(new.id,new.name);
END;
MySQL server version for the right syntax to use near '' at line 5
还是有问题,报这个错,我对触发器没怎么用过,呵呵 ,希望多指教,谢谢!
mysql5.0创建触发器语法如下:
create trigger t_add after insert on t1 for each row
begin
insert into t2(id,name) values(new.id,new.name);
end;
begin
insert into t2(id,name) values(:new.id,:new.name);
END;--你的本来事件就是insert 就没必要IF INSERTING THEN