下面我做了个测试 只能在最后一行数据起作用, 是哪里出了问题,谁能帮我一下?? --测试表 create table tb(a int,b varchar(10)) insert tb select 1,'aa' union all select 2,'bb' union all select 3,'cc' create table tb2(a int,b varchar(10)) go --触发器 create trigger tr_insert on tb for insert as DECLARE @s int, @i varchar(10) select @s=a,@i=b from inserted insert into tb2 values(@s,@i) go --导出数据 exec master..xp_cmdshell 'bcp tempdb.dbo.tb out c:\a.txt /c /P""',no_output
--导入数据 bulk insert tb from 'c:\a.txt' with(fire_triggers) go --显示结果 select * from tb select * from tb2 go --删除测试 drop table tb
你触发器有问题 ,用@a,@b只能取一条记录,多条记录应该 这样: insert tb2 select * from inserted
只能在最后一行数据起作用,
是哪里出了问题,谁能帮我一下??
--测试表
create table tb(a int,b varchar(10))
insert tb select 1,'aa'
union all select 2,'bb'
union all select 3,'cc'
create table tb2(a int,b varchar(10))
go
--触发器
create trigger tr_insert on tb
for insert
as
DECLARE @s int,
@i varchar(10)
select @s=a,@i=b from inserted
insert into tb2 values(@s,@i)
go
--导出数据
exec master..xp_cmdshell 'bcp tempdb.dbo.tb out c:\a.txt /c /P""',no_output
--导入数据
bulk insert tb from 'c:\a.txt' with(fire_triggers)
go
--显示结果
select * from tb
select * from tb2
go
--删除测试
drop table tb
insert tb2 select * from inserted