触发器+事务+BCP

nice90 2003-09-14 05:48:00
1、能够在触发器里将FOR INSERT,UPDATE ,DELETE 写到一起吗?
请看我的是否正确:
CREATE TRIGGER [Update_zxzxrefer_table]
ON [dbo].[zxzx_referback]
FOR INSERT, DELETE
AS
declare @zxid int
---for insert
-- transaction mytran1
select @zxid = 咨询id from inserted
if exists(select id from zxzx_refer where id=@zxid)
begin
update zxzx_refer set 状态=1 where id = @zxid
end

/* if @@error<>0
rollback
else
commit transaction mytran1 */
declare @zxid2 int
---for delete
--transaction mytran2

select @zxid2 = 咨询id from deleted
if exists(select id from zxzx_refer where id=@zxid2)
begin
delete zxzx_refer where id=@zxid2
end
/*
if @@error<>0
rollback
else
commit transaction mytran2 */

2、触发器里怎样将事务集成进去?
是在statement语句后面写rollback transaction吗?我的写法总是抱错。
3、BCP出来的文件,例如mytable表的bcp文件mytable_bcp.txt重新导入一张新表[newtable],同时要求mytable表的id(int 自增,PK)字段在导入的时候,每一条记录都加上5000,怎么写这个bcp语句?

谢谢各位兄弟姐妹!
...全文
56 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
txlicenhe 2003-09-23
  • 打赏
  • 举报
回复
1:触发器本身就是事务处理的。
2:先导入SQL后,再用SQL来处理就简单了。
nice90 2003-09-23
  • 打赏
  • 举报
回复
再次征求解答。
leimin 2003-09-15
  • 打赏
  • 举报
回复
3、BCP出来的文件,例如mytable表的bcp文件mytable_bcp.txt重新导入一张新表[newtable],同时要求mytable表的id(int 自增,PK)字段在导入的时候,每一条记录都加上5000,怎么写这个bcp语句?
你可以先导入到TEMPTABLKE
bcp DB_NAME.dbo.TEMPTABLE in c:\mytable_bcp.txt-c -q -S"servername" -U"sa" -P""
然后
insert into mytable(....) select(id+50000,.....) from temptable
nice90 2003-09-15
  • 打赏
  • 举报
回复
还有几个问题呢?BCP呢?如果不行的话,请问你们一般使用什么方法来解决的?job?
j9988 2003-09-14
  • 打赏
  • 举报
回复
触发器本身就是以事务方式运行的,不用再写事务。
j9988 2003-09-14
  • 打赏
  • 举报
回复
CREATE TRIGGER [Update_zxzxrefer_table]
ON [dbo].[zxzx_referback]
FOR INSERT, DELETE
AS
begin
update zxzx_refer set 状态=1 from zxzx_refer,inserted where inserted.id =zxzx_refer.id
delete zxzx_refer from zxzx_refer,deleted where zxzx_refer.id=deleted.id
end
friendliu 2003-09-14
  • 打赏
  • 举报
回复
当然可以了。。/
CREATE TRIGGER [Update_zxzxrefer_table]
ON [dbo].[zxzx_referback]
FOR INSERT,UPDATE ,DELETE
as
begin


end

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧