我有
PROCEDURE p_get_empdetails(pcu_scheme_info OUT SYS_REFCURSOR)
IS
BEGIN
-- To Select scheme_ref,scheme_cat and quote_ref
OPEN pcu_scheme_info FOR
SELECT emp_ref
,emp_cat
,emp_quote_ref
FROM emp_reset_id e
WHERE estimated_quote_expiry_date <= lpcd_system_date
AND q.quote_ref IN (SELECT DISTINCT qrc.quote_ref
FROM nb005 nb,
emp_reset_id e
WHERE nb.qteref = e.emp_quote_ref
AND nb.pcsstg <> 51);
END p_get_scheme_details;
如果计数是&gt;我需要发送电子邮件0
SELECT COUNT(*)
FROM nb005 nb JOIN emp_reset_id e ON nb.qteref = qrc.emp_quote_ref
WHERE nb.pcsstg=51;
请帮帮忙吗?
答案 0 :(得分:0)
问题很模糊。我假设您正在使用oracle 10g及更高版本。如果您尝试通过PL / SQL发送邮件,则可以使用UTL_MAIL
包。你可以试试像
CREATE OR REPLACE PROCEDURE p_test_mail
AS
var_count NUMBER;
CURSOR c1
IS
SELECT COUNT(*)
FROM nb005 nb
JOIN emp_reset_id e
ON nb.qteref = qrc.emp_quote_ref
WHERE nb.pcsstg=51;
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO var_count;
EXIT
WHEN c1%NOTFOUND;
IF var_count > 0 THEN
utl_mail.send(sender => 'sendermail@senderdomain.com', recipients => 'receivermail@receiverdomain.com', subject => 'Your Subject', MESSAGE => 'Your Message');
END IF;
END LOOP;
CLOSE c1;
END;
使用UTL_MAIL
包有一些先决条件。您可以找到这些详细信息here