当我从表中删除称为“类别”的行时。我想要删除的naam记录在变量中。这样,我可以将'Economie'(参见代码)更改为已删除的变量。因此,我可以使用已删除的类别来构建字符串。
例如,如果我的桌子算账:
并且我删除了要在删除的变量中存储值Sport的行Sport。
我现在得到的结果是:
邮件发送至[email protected],文字为“亲爱的Klaas Common”,您的订阅已被取消“类别经济”
我想要的结果是:
邮件经常发送给[email protected],文字为“亲爱的Klaas”:您的订阅已被取消,类别为“已删除值”
我能做到这一点的最好方法是什么?
CREATE TABLE Categorie
(
naam VARCHAR2(64) PRIMARY KEY,
omschrijving VARCHAR2(2048)
);
CREATE or REPLACE TRIGGER Verwijdercategorie
before Delete
ON Categorie
DECLARE
categorieinvoer varchar2(30);
PROCEDURE gebruiker (categorienaam varchar2)
AS
voornamtemp varchar2(30);
achternaamtemp varchar2(30);
emailadresstemp varchar2(30);
bodyText varchar2(300);
categorie varchar(30):= categorienaam;
CURSOR emp_cursor IS
SELECT VOORNAAM, ACHTERNAAM,EMAILADRES from mailabonnee,categorieabonnement,categorie
where categorie.naam = categorieabonnement.categorienaam
and categorieabonnement.mailabonneeid = mailabonnee.id
and categorie.naam = categorie;
BEGIN
FOR employee_rec IN emp_cursor LOOP
voornamtemp:= employee_rec.VOORNAAM;
achternaamtemp:= employee_rec.ACHTERNAAM;
emailadresstemp:= employee_rec.EMAILADRES;
bodyText:= 'Beste ' || voornamtemp || ' ' || achternaamtemp || ' , uw abonnement is
opgeheven voor Categorie ' || categorienaam;
sendMailAbonnee(bodyText,emailadresstemp);
end loop;
END gebruiker;
begin
categorieinvoer:= 'Economie'; -- Value that need to be changed;
gebruiker(categorieinvoer);
end Verwijdercategorie;
在扳机的身上,我认为您应该更换
categorieinvoer := 'Economie';
和
categorieinvoer := :OLD.NAAM;
试试看。
分享并享受。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句