2016-10-14 3 views
0

こんにちは私はPL/SQL Developperで作業していますが、迷惑なエラーが発生しました...何かが追加されたときに電子メールを送信するようにしようとしています"JDEF"データベース。 これは私のコードです:EXEC msdb.dbo.sp_send_dbmail AND @profile_name = '私':TRIGGER SQLでメールを送信するためのコンパイルエラー

CREATE OR REPLACE TRIGGER Send_Email 
AFTER INSERT 
ON JDEF 
BEGIN 
     EXEC msdb.dbo.sp_send_dbmail 
      @profile_name = 'me', 
      @recipients = '[email protected]', 
      @body = 'The stored procedure finished successfully.', 
      @subject = 'Automated Success Message' 
END 

エラーのコンパイルは、これら二つのラインのためのものです。彼らは、コンパイルするために、他のものに交換されているシンボル。

はあなたに私を助けるために任意のアイデアを持っている「、「「MSDB」について話すと?

THX

+1

Oracleでは構文が無効です。それはT-SQL(マイクロソフト)ですが、有効なPL/SQLではありません –

+0

@ a_horse_with_no_nameご回答いただきありがとうございます。提案する代替案はありますか? –

+0

ユーザが「ロールバック」を行うとどうなりますか?この場合、メールはとにかく送信されます! –

答えて

0

はあなたのコードは、Oracleの標準的な方法で、MSSQLのように見えます電子メールを送信することは、たとえば次のとおりです。

UTL_MAIL.send(sender => '[email protected]', 
      recipients => '[email protected]', 
       subject => 'Automated Success Message', 
       message => 'The stored procedure finished successfully.', 
      mime_type => 'text; charset=us-ascii'); 

しかし、もしあなたがUTL_MAILを使用することができます前に、それが有効にされている必要がメールを送信する別のパッケージがUTL_TCP である。これは役に立つかもしれ:http://www.orafaq.com/wiki/Send_mail_from_PL/SQL

+0

非常に助けてくれてありがとう、私は見てみましょう! –

関連する問題