/*
修改触发器
*/
alter trigger testinsert on a
for insert
as
if @@Rowcount=1 --如果是单句insert语句
begin
begin tran
insert b values(@@identity,'11')
commit tran
end
else --如果是insert into select 语句这样形式的
begin
declare @ii int --记录当前游标所指向的记录的ID号
Declare @dav as varchar(50) ---定义变量,用来保存从游标中取得的值
Declare cursor5 cursor for select id from inserted ---定义游标
open cursor5 ---打开游标
fetch cursor5 into @dav
while @@fetch_status=0 ---循环读取值
begin
begin tran
set @ii=(select id from inserted where id=@dav)--取得Identity的值
insert b values(@@identity,'11')
fetch cursor5 into @dav
commit tran
end
close cursor5 ---关闭游标
Deallocate Cursor5 ---删掉游标
end
修改触发器
*/
alter trigger testinsert on a
for insert
as
if @@Rowcount=1 --如果是单句insert语句
begin
begin tran
insert b values(@@identity,'11')
commit tran
end
else --如果是insert into select 语句这样形式的
begin
declare @ii int --记录当前游标所指向的记录的ID号
Declare @dav as varchar(50) ---定义变量,用来保存从游标中取得的值
Declare cursor5 cursor for select id from inserted ---定义游标
open cursor5 ---打开游标
fetch cursor5 into @dav
while @@fetch_status=0 ---循环读取值
begin
begin tran
set @ii=(select id from inserted where id=@dav)--取得Identity的值
insert b values(@@identity,'11')
fetch cursor5 into @dav
commit tran
end
close cursor5 ---关闭游标
Deallocate Cursor5 ---删掉游标
end
在插入b中就可以了
insert b(f1) select f1 from inserted
go