触发器 问题

agefworld 2003-08-19 05:43:15
CREATE trigger insert_Date on test
for insert
as
declare @id int,@title varchar(50),@content varchar(5000) --根据实际情况设置大小
select @id =id,@title=title,@content=content from test
if @content='aa'
insert into result(res_id,res_tbl,res_title,res_content) values(@id,'test',@title,@content)
else
insert into result(res_id,res_tbl,res_title,res_content) values(@id,'test1',@title,@content)

我想通过输入不同的值,触发不同的结果,可是无论怎样,都是第二个,哪里有问题么?







...全文
42 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengdali 2003-09-04
  • 打赏
  • 举报
回复
CREATE trigger insert_Date on test
for insert
as
insert result(res_id,res_tbl,res_title,res_content) select id,case when content='aa' then 'test' else 'test1' end,title,content from inserted
go

--这样就可以了
mjhnet 2003-09-04
  • 打赏
  • 举报
回复
--不过要保证每次只插入一条记录才行
CREATE trigger insert_Date on test
for insert
as
declare @id int,@title varchar(50),@content varchar(5000) --根据实际情况设置大小
select @id =id,@title=title,@content=content from inserted
if @content='aa'
insert into result(res_id,res_tbl,res_title,res_content) values(@id,'test',@title,@content)
else
insert into result(res_id,res_tbl,res_title,res_content) values(@id,'test1',@title,@content)
pengdali 2003-09-04
  • 打赏
  • 举报
回复
CREATE trigger insert_Date on test
for insert
as
declare @id int,@title varchar(50),@content varchar(5000) --根据实际情况设置大小
select @id =id,@title=title,@content=content from inserted
if @content='aa'
insert into result(res_id,res_tbl,res_title,res_content) values(@id,'test',@title,@content)
else
insert into result(res_id,res_tbl,res_title,res_content) values(@id,'test1',@title,@content)
1x1y 2003-09-04
  • 打赏
  • 举报
回复
用 where 判断
insert into result(res_id,res_tbl,res_title,res_content) values(@id,'test1',@title,@content) where 1

insert into result(res_id,res_tbl,res_title,res_content) values(@id,'test1',@title,@content) where 2

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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