关于何时触发PL/SQL触发器,我有一个问题.
我写了以下触发器
CREATE OR REPLACE TRIGGER gradeInputCheck
BEFORE INSERT ON GRADE
FOR EACH ROW
DECLARE
newGrade GRADE.NUMERIC_GRADE%TYPE := :NEW.NUMERIC_GRADE;
grade_too_low EXCEPTION;
grade_too_high EXCEPTION;
BEGIN
DBMS_OUTPUT.PUT_LINE(newGrade);
IF (newGrade < 0) THEN
RAISE grade_too_low;
ELSIF (newGrade > 100) THEN
RAISE grade_too_high;
END IF;
EXCEPTION
WHEN grade_too_low THEN
DBMS_OUTPUT.PUT_LINE('Grades must be between 0 and 100');
WHEN grade_too_high THEN
DBMS_OUTPUT.PUT_LINE('Grades must be between 0 and 100');
END;
Run Code Online (Sandbox Code Playgroud)
但是,当我运行一个简单的语句时
UPDATE grade SET numeric_grade = -1;
Run Code Online (Sandbox Code Playgroud)
触发器不会触发.关于如何使触发器触发的任何要点?
谢谢!
所以,我在使用MemoryStream作为内容源来附加文件时遇到了一些麻烦.
现在,我正在从远程Web服务器获取图像,并尝试将它们打包成一个用作日常报告的电子邮件.
我已经完成了提取,解析和图像提取,我已经测试了它的工作原理.我面临的问题是,当我使用MemoryStream作为内容源/内容流创建Attachment对象时,电子邮件包含空白文件/图像.但是,当我指定驻留在硬盘驱动器上的实际文件时,它会毫无问题地附加到邮件中,并且收到的邮件是完美的.
显然,在我附加文件并发送它们之前,我宁愿不必在本地缓存任何图像,因为这会在缓存中产生不必要的开销,然后清除它们.但是,如果需要,我可以把它作为我的最后手段.
我的问题是,如果在创建Attachment对象时使用MemoryStream作为contentStream存在一些已知问题,或者存在我忘记的事情.
谢谢!