首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请问一个关于触发器的有关问题,多谢

2012-09-10 
请教一个关于触发器的问题,谢谢触发器用的非常少,不多说,上代码SQL codeCREATE trigger [FC_RK_CLXX_T_upd

请教一个关于触发器的问题,谢谢
触发器用的非常少,不多说,上代码

SQL code
CREATE trigger [FC_RK_CLXX_T_update] on [dbo].[FC_RK_CLXX_T]  instead   of  update  as begin      if update(FC_CL_ID) or update(DJ) begin      Update FC_CL_QCKC_T Set FC_CL_ID=i.FC_CL_ID,DJ=i.DJ             From FC_CL_QCKC_T br , Deleted   d ,Inserted i              Where br.FC_RKJL_ID=i.ID     end     end


解释下触发器的作用:当FC_RK_CLXX_T表中的字段FC_CL_ID或者DJ发生变化时,执行该触发器。
现在有这样一个问题:我的FC_RK_CLXX_T表还有另外一个字段SFSH,我需要对这个字段进行修改,但是因为这个触发器的存在,我的这个字段SFSH无法进行修改。求指教,谢谢!!

[解决办法]
SQL code
CREATE trigger [FC_RK_CLXX_T_update] on [dbo].[FC_RK_CLXX_T]  instead   of  update  as begin      if update(FC_CL_ID) or update(DJ) begin      Update FC_CL_QCKC_T Set FC_CL_ID=i.FC_CL_ID,DJ=i.DJ             From FC_CL_QCKC_T br , Deleted   d ,Inserted i              Where br.FC_RKJL_ID=i.ID     end     if update(SFSH) begin      Update FC_CL_QCKC_T Set SFSH=i.SFSH           From FC_CL_QCKC_T br , Inserted i              Where br.FC_RKJL_ID=i.ID     end    end
[解决办法]
SQL code
--這樣建,主鍵換成你的主鍵關聯就可以了CREATE trigger [FC_RK_CLXX_T_update] on [dbo].[FC_RK_CLXX_T]  instead   of  update  as begin      if update(FC_CL_ID) or update(DJ) begin      Update FC_CL_QCKC_T Set FC_CL_ID=i.FC_CL_ID,DJ=i.DJ             From FC_CL_QCKC_T br , Deleted   d ,Inserted i              Where br.FC_RKJL_ID=i.ID     end     if update(SFSH)    update FC_RK_CLXX_T set SFSH=i.SFSH from inserted i        where i.主鍵=FC_RK_CLXX_T.主鍵end 

热点排行