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

这个update触发器不起作用,该如何处理

2012-12-29 
这个update触发器不起作用set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgoAlterTRIGGER [trg_update_StockIn

这个update触发器不起作用
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go


Alter    TRIGGER [trg_update_StockInvoice] ON [dbo].[t_StockInvoice] 
FOR UPDATE 
AS

DECLARE @F_BillID     int

If UPDATE(F_Check)
BEGIN

     select @F_BillID=F_BillID from inserted
     select @F_BillID

END


F_Check的确改了,由0变1,但是@F_BillID没有取到, select @F_BillID为null值,为啥
[解决办法]
以上代码经测试没有问题。 sql2008
[解决办法]
有啥问题??
[解决办法]
定义变量做什么?
这样不行么:
Alter    TRIGGER [trg_update_StockInvoice] ON [dbo].[t_StockInvoice] 
FOR UPDATE 
AS
=If UPDATE(F_Check)
BEGIN

     select F_BillID from inserted

END
用变量的话,如果一次更新多条记录,而最后的那条记录 F_BillID 为NULL 的话,则出来NULL.

[解决办法]
代码没问题啊,你看看是不是你的表里面那个字段值是不是null

热点排行