求一触发器写法

来源:百度知道 编辑:UC知道 时间:2024/07/02 14:32:43
有表1和表2,两表有3列,都是一样的,表1有数据了,要求在表2输入数据的同时插入表1
求高人指点!!

use 数据库
go
create trigger 插入 on 表2
after insert
as
if(select count(*) as 记录数 from 表2,where 记录数=记录数
begin
insert into 表1
values(' ',' ',' ')
select * from 表1
end
go

你先试试吧,我也是新手,来学习学习
可能IF那里执行起来有错误,那里我也不知道怎么限制
我的思路是先判断表2里的记录数,如果插入数据就会比之前+1,那么激活触发器,在表1中+1条记录,如果在where那里限定条件为“记录数=记录数+1”,但是你插入记录后,记录数自己变为+1,那么“记录数就不等于记录是+1了,就无法激发触发器...现在的问题是怎样描述在表2中插入了数据

创建一个insert触发器在表2,照你题目的意思是没有主键直接插入的,所以:
create trigger tri_insert on 表2 for insert
as begin
insert 表1(三个字段名)
select * from inserted
end

use 数据库
CREATE TRIGGER create trigger 插入 on 表2
after insert
AS
BEGIN
declare @列1 nvarchar(10),@列2 nvarchar(10),@列3 nvarchar(10)
select @列1=列1,@列2=列2,@列3=列3 from inserted
insert into 表1(列1,列2,列3)values(@列1,@列2,@列3)
END

应该对楼主有所帮助吧?

ORACLE Trigger:
有表1和表2,两表有3列,都是一样的,表1有数据了,要求在表2输入