2015-12-18 14 views
-6

0我有發送郵件,如果count(*)>在Oracle

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; 

我需要的,如果計數> 0

SELECT COUNT(*) 
     FROM nb005 nb JOIN emp_reset_id e ON nb.qteref = qrc.emp_quote_ref 
     WHERE nb.pcsstg=51; 

請這方面的幫助,以發送電子郵件?

回答

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 => '[email protected]', recipients => '[email protected]', subject => 'Your Subject', MESSAGE => 'Your Message'); END IF; END LOOP; CLOSE c1; END;

有一些先決條件使用UTL_MAIL包。你可以找到那些細節here

相關問題