我正在使用DB2,我必须创建一个触发器,在对“Disponibilita”进行特定更新后,该触发器必须对表“Promozioni”执行两个不同的操作,这里是模式:
create table PROMOZIONI (
PID char(5) not null primary key,
Valore DEC(4,2) not null,
NumProdotti INT not null DEFAULT 0 );
create table DISPONIBILITA (
CodProdotto char(5) not null,
CodNegozio char(5) not null,
Quantita INT not null,
PID char(5) references PROMOZIONI,
primary key (CodProdotto, CodNegozio));
这是一个明显不起作用的触发器:
Create or replace trigger AggiornaNumProdotti
After Update on Disponibilita
referencing old as O new as N
for each row
update Promozioni p
SET NumProdotti=NumProdotti+1
Where N.PID is not null and N.PID=p.PID;
UPDATE Promozioni p2
SET NumProdotti=NumProdotti-1
WHERE O.PID is not null and O.PID=p2.PID;
有没有办法做一个单一的触发器或我被迫创建两个不同的每一个具体的指示?非常感谢
1条答案
按热度按时间798qvoo81#
对于多个查询,您需要
BEGIN
和END
| PID|价值|努姆普罗 Dotty |
| - ------|- ------|- ------|
| 1个|一点二十分|-1人|
| 第二章|一点二十分|1个|
fiddle