SQL触发器无效

我想在一个表发生变时另外一个表跟着出现同样的变化,我也了一个INSERT的触发器通过了语法检查,但是进行操作却没有反映。请大家帮帮忙看看.....谢谢!CREATETRI... 我想在一个表发生变时另外一个表跟着出现同样的变化,
我也了一个INSERT的触发器 通过了语法检查,但是进行操作却没有反映。
请大家帮帮忙看看.....谢谢!
CREATE TRIGGER [TRI_NEWSDATA] ON [dbo].[KY_NEWSDATA]
FOR INSERT
AS
update [dbo].[ky_totaldata]
set ky_title=(select ky_title from KY_NEWSDATA这里我用过inserte这个表试了还是没用)
KY_NEWSDATA表有插入操作时触发更新ky_totaldata表,条件是我想要的
谢谢你们的回答, 我用过了After INSERT 也没有用
用这个好象就可以.
CREATE TRIGGER [TRI_NEWSDATA] ON [dbo].[KY_NEWSDATA]
After INSERT
AS
delete from [dbo].[ky_totaldata]
where ky_id in
(select ky_id from inserted where ky_id=inserted.ky_id)

insert into [dbo].[ky_totaldata] (KY_ID,KY_DIR,KY_CATA,KY_SOURCE,KY_ZHUANTI,KY_TITLE,KY_HTTP,KY_PINDAO ,KY_TABLE )
select KY_ID,KY_DIR,KY_CATA,KY_SOURCE,KY_ZHUANTI,KY_TITLE,KY_HTTP,'101','KY_NEWSDATA'
from inserted
where ky_id=inserted.ky_id
展开
 我来答
百度网友5c91d28
2006-05-23 · TA获得超过5084个赞
知道大有可为答主
回答量:1916
采纳率:50%
帮助的人:1676万
展开全部
“我想在一个表发生变时另外一个表跟着出现同样的变化”
既然你想实现这个功能,那么在触发器里你应该像另外一个表插入数据才对。
而你的触发器是更新操作,如果ky_totaldata表没有数据的话,肯定不会有什么变化。

假如两个表结构相同,那么用如下触发器

create trigger [TRI_NEWSDATA]
ON [dbo].[KY_NEWSDATA]
for insert
as

insert into [dbo].[ky_totaldata]
select *
from inserted

向KY_NEWSDATA表插入数据后,就会触发进ky_totaldata表中。
孟德G
2006-05-23 · TA获得超过5237个赞
知道大有可为答主
回答量:1.1万
采纳率:20%
帮助的人:0
展开全部
把For Insert改成After INSERT,试试看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
athenalee4bd
2006-05-23 · 超过31用户采纳过TA的回答
知道答主
回答量:363
采纳率:0%
帮助的人:0
展开全部
最好别用触发器,最好用存储过程,衷心的建议,为了日后的大数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TrialDY
2006-05-23 · TA获得超过448个赞
知道小有建树答主
回答量:551
采纳率:0%
帮助的人:406万
展开全部
改成“after”试下
CREATE TRIGGER [TRI_NEWSDATA] ON [dbo].[KY_NEWSDATA]
after INSERT
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式