关于SQL Server触发器

zyp2kyear 2002-09-24 07:26:19
关于SQL Server触发器
:我想用触发器做一个转换SQL语句,并且将SQL语句写入文件中
例如我在Table1中直接增加一条记录
序号 姓名 性别 分数1 分数2 总分
1 zyp man 20 30 50
转换成
"INSERT Table1 VALUE(1,"ZYP","MAN",20,30,50)"
...全文
31 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
昵称被占用了 2002-10-26
  • 打赏
  • 举报
回复
最好不要想这样的触发器!
很难考虑完全,插入时少一个字段怎么办?插入有NULL怎么办?一次插入多条记录怎么办?

这个基本上没有意义,影响性能!
supsuccess 2002-10-26
  • 打赏
  • 举报
回复
只能对单条有效,如要多条,自己改改吧:)
supsuccess 2002-10-26
  • 打赏
  • 举报
回复
create table tab(id int,name sysname,sex sysname,score1 int,score2 int,sum_score int)
go
create trigger tr1 on tab for insert as
begin
declare @id varchar(10),@name sysname,@sex sysname,@score1 sysname,@score2 sysname,@sum_score sysname,@sql varchar(8000)
select @id='',@name='',@sex='',@score1='',@score2='',@sum_score='',@sql=''
select @id=cast(id as varchar),@name=name,@sex=sex,@score1=cast(score1 as varchar),@score2=cast(score2 as varchar),@sum_score=cast(sum_score as varchar)
from inserted
select @sql= 'echo '+ 'INSERT Table1 VALUES('+@id+',"'+@name+'","'+@sex+'",'+@score1+','+@score2+','+@sum_score+')' + '>>c:\test.txt'
exec master..xp_cmdshell @sql
end
go
insert tab values (1,'001','man',10,20,30)

22,210

社区成员

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

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