CREATE TRIGGER zfxt_update_bom ON [CQAdmin].[dcn]
FOR UPDATE
AS
begin
update bom
set fldcolumn_2=ccc.fldcolumn
from inserted ccc
where bom.partnumber=ccc.partnumber
end
FOR UPDATE
AS
begin
update bom
set fldcolumn_2=ccc.fldcolumn
from inserted ccc
where bom.partnumber=ccc.partnumber
end
FOR INSERT, UPDATE, DELETE
AS
begin
update bom
set fldcolumn_2=ccc.fldcolumn
from inserted ccc,bom aaa
where aaa.partnumber=ccc.partnumber
end
FOR UPDATE
AS
begin
update bom
set bom.fldcolumn_2=ccc.fldcolumn--只定列bom
from inserted ccc ,bom
where bom.partnumber=ccc.partnumber
end
您写的程序
现在还是报fldcolumn_2和fldcolumn列名无效
FOR INSERT, UPDATE, DELETE
AS
begin
update bom
set fldcolumn=ccc.fldcolumn_2 --写反了,我的天
from inserted ccc
where bom.partnumber=ccc.partnumber
end
完全正确
你能不能详细给讲一讲这句话的含义呀
是把dcn表里的fldcolumn的这个值先放在临时表ccc的fldcolumn_2里面
然后在把这个值给bom
是这样吗 ??
ON [CQAdmin].[dcn] FOR UPDATE --对于dcn表的UPDATE操作做触发
AS --以下是触发器内容
begin
update bom --更新bom表
set fldcolumn=ccc.fldcolumn_2 --将bom表的字段fldcolumn设置为ccc.fldcolumn_2
from inserted ccc --inserted表示刚刚插入的那行数据,重命名为ccc
where bom.partnumber=ccc.partnumber --要更新的列的条件,即bom和dcn中partnumber字段相同的记录
end
这段代码有效吗 ??