有关数据库中触发器的应用问题
发布网友
发布时间:2022-04-12 17:59
我来回答
共2个回答
热心网友
时间:2022-04-12 19:28
如果BRAND列都是两位数字的话,那么mssql可以这样写:
create trigger tr_newLineID on M_general for update
as
begin
declare @oldid varchar(10)
SET @oldid = (select lineid from deleted)
declare @newid varchar(10)
SET @newid = (select lineid from inserted)
update M_shop SET BRAND=replace(BRAND ,@oldid, @newid)
end
热心网友
时间:2022-04-12 20:46
对于oracle可以这样:
create or replace trigger LineIdByBrand
after insert or update or delete
on M_general
for each row
begin
if updating then
update M_shop set Brand=:new.LineId where Brand=:old.LineId;
end if;
end;追问Brand的数据类型是01;03;27;28这样中间有分号的,而在Lineid的数据类型是01这样不带分好的,我要做的是当lineid中的01变成02时,改变Brand中有01的一些数据,只将这些数据中01变成02其他都照原样输出,例如01;03;27;28就变成02;03;27;28。希望您再帮忙看看~