注册 登录
编程论坛 SQL Server论坛

if (columns_update() & 14) /*表示第2、、3、4列修改时,执行下面的语

jimmy1982 发布于 2007-01-18 09:56, 727 次点击

if (columns_update() & 14) /*表示第2、、3、4列修改时,执行下面的语句

那位大哥帮忙指点一下,是怎么计算的第2、、3、4列,谢谢!!!

3 回复
#2
chenxkfox2007-01-18 10:38

没有弄明白你的意思

#3
jimmy19822007-01-18 10:58
drop trigger upsaledate
go
create trigger upsaledate
on saledate
after update
as
if(update() & 14) /*这地方有错,我想修改saledate的第2,3,4列时,向audisaledate表中添加一条跟踪记录
begin
insert into audisaledate
(audi_log_type,
audi_customerbankaccount,
audi_customeraddress,
audi_customername,
audi_sale_id,
audi_sale_name,
audi_sale_qua,
audi_sale_date)
select
'old',
d.audi_customerbankaccount,
d.audi_customeraddress,
d.audi_customername,
d.audi_sale_id,
d.audi_sale_name,
d.audi_sale_qua,
d.audi_sale_date from deleted d
insert into audisaledate
(audi_log_type,
audi_customerbankaccount,
audi_customeraddress,
audi_customername,
audi_sale_id,
audi_sale_name,
audi_sale_qua,
audi_sale_date)
select
'new',
i.audi_customerbankaccount,
i.audi_customeraddress,
i.audi_customername,
i.audi_sale_id,
i.audi_sale_name,
i.audi_sale_qua,
i.audi_sale_date from inserted i
end
#4
棉花糖ONE2007-03-01 21:11
if (columns_update() & 14) /*表示第2、、3、4列修改时,执行下面的语句,把14转换成二进制是1110,所以是2,3,4位
1