黄山硬盒价格表和图片:SQL触发器无效

来源:百度文库 编辑:神马品牌网 时间:2024/04/27 13:34:18
我想在一个表发生变时另外一个表跟着出现同样的变化,
我也了一个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

“我想在一个表发生变时另外一个表跟着出现同样的变化”
既然你想实现这个功能,那么在触发器里你应该像另外一个表插入数据才对。
而你的触发器是更新操作,如果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表中。

把For Insert改成After INSERT,试试看

最好别用触发器,最好用存储过程,衷心的建议,为了日后的大数据

改成“after”试下
CREATE TRIGGER [TRI_NEWSDATA] ON [dbo].[KY_NEWSDATA]
after INSERT