0

C# に移植する必要がある一部のレガシー Delphi コードで、非常に奇妙な「SQL ステートメント」と思われるものに遭遇しました。

問題の TQuery コンポーネントには、次の SQL プロパティがあります。

Begin
  MAILUTIL.SEND_MAILTXT@LEOPARD('rr@crk.com', :SUB , :TEXT, 'rr@crk.com');
  MAILUTIL.SEND_MAILTXT@LEOPARD('ba@rdlands.gov', :SUB , :TEXT, 'ba@rdlands.gov');
End;

通常、SQL プロパティは次のような文字列です。

Select * from Bakery where Item = 'Pie'

..だから、これは私をことわざのループに投げ込みました。これは「オラクルのこと」ですか、それとも何ですか?

4

2 に答える 2

4

これは PL/SQL ブロック (SQL に対する Oracle の手続き型拡張機能) です。私の推測では、パッケージで定義されたプロシージャを持つMAILUTILリモート データベースで定義されたパッケージがあると思います。 スキーマ名とスタンドアロンのプロシージャである可能性もありますが、その可能性は低いと思われます。LEOPARDSEND_MAILTXTMAILUTILSEND_MAILTXT

于 2012-04-18T20:16:13.773 に答える
-1

はい、オラクルは pl/sql で電子メールを送信できますが、それは悪い習慣だと思います。その「クエリ」を使用してrdbmsの外部で使用されているプログラミング言語に移動するか、その状況で外部スクリプトファイルを呼び出してください。

理由: メール プロセスが何らかの理由で失敗した場合、トランザクション全体がロールバックされる可能性があり、他の欠点もあります。

于 2012-04-18T20:15:32.380 に答える