我有一个程序可以计算 SMS_OUTBOX 表中的行数,如果它的行数超过 1000 则发送电子邮件。我的程序如下:
CREATE OR REPLACE PROCEDURE SEND_EMAIL_ABOUT_PENDING_SMS IS
CHECK_SMS_COUNT NUMBER := 1000;
CURRENT_SMS_COUNT NUMBER;
BEGIN
SELECT COUNT(1) INTO CURRENT_SMS_COUNT FROM SMS_SCHEMA.SMS_OUTBOX;
IF CURRENT_SMS_COUNT >= CHECK_SMS_COUNT THEN
UTL_MAIL.SEND(
sender=>'<SENDER_EMAIL>',
recipients=>'<RECIPIENT_EMAIL>',
subject=>'Pending SMS',
Message=>'Pending SMS count exceeded.'
);
END IF;
END SEND_EMAIL_ABOUT_PENDING_SMS;
/
当我编译上面我得到这个错误。
然后我尝试在没有过程的情况下执行这行代码:
EXEC UTL_MAIL.SEND(
sender=>'<SENDER_EMAIL>',
recipients=>'<RECIPIENT_EMAIL>',
subject=>'Pending SMS',
Message=>'Pending SMS count exceeded.'
);
然后我得到了这个错误:
PLS-00302:必须声明组件“发送”
我对 Oracle(和 PL/SQL)非常陌生。谁能帮我在 Oracle 中发送电子邮件,需要哪些配置?