读书人

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

发布时间: 2012-09-10 11:02:32 作者: rapoo

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

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 

读书人网 >SQL Server

热点推荐