アプリ版:「スタンプのみでお礼する」機能のリリースについて

初めまして。

ご教示頂けると幸いです。よろしくお願い致します。

ただいま、sqlを学んでいる最中なのですが、
以下の問題の書き方がわからず手が止まっています。。。

【処理内容 : Aテーブル内のbカラムに’     ’または
cカラムに’     ’がある時、メールで通知する処理
(空欄はスペース5個分です)】

以下のような書いていくのだろうというイメージはあります。。

select ~
from A
where if スペース b has スペース5個分
or if スペース c has スペース5個分




-- "大枠"単位でLOOP
-- "小枠"単位でLOOP
-- エラーメッセージ作成

このような構成となっています。

⬇︎

CREATE OR REPLACE PACKAGE BODY XXXXXXXXXX IS
******************************************************************************* */
--~
/***********************
* function 定義
*********************/

/******************************************************************************
処理名 : abcdef
処理内容 : Aテーブル内のbカラムに’     ’または
cカラムに’     ’がある時、メールで通知する処理
(空欄はスペース5個分です)
*********************この内部が知りたいです。*************************************************/
-- カーソル変数の定義
-- リターンする文字列
-- 初期化
-- "大枠"単位でLOOP
-- "小枠"単位でLOOP
-- エラーメッセージ作成
-- エラー全件
/***********************この内部が知りたいです。************************************
処理名 : main
******************************************************************************/
--カーソル変数の定義
-- メール本文
-- メール件名
-- 抽出結果全件
-- *************************************************************************
-- *
-- *************************************************************************
-- 本文
-- チェック処理
-- 件名
-- メール送信処理

質問の仕方が上手くなく、申し訳ありません。
よろしくお願い致します。

A 回答 (1件)

こんなかんじかと



DECLARE
 c UTL_SMTP.CONNECTION;
 n NUMBER;
BEGIN
 SELECT count(*) INTO n FROM a WHERE a.b like '%△△△△△%' or a.c like '%△△△△△%';
 IF n > 0 THEN
  c := UTL_SMTP.OPEN_CONNECTION('smtp.example.com', 25);
  UTL_SMTP.HELO(c, 'smtp.example.com');
  UTL_SMTP.MAIL(c, 'foo@example.com');
  ...
  UTL_SMTP.QUIT(c);
 END IF;
END;
/

参考
http://otndnld.oracle.co.jp/document/products/or …
http://otndnld.oracle.co.jp/document/products/or …
http://otndnld.oracle.co.jp/document/products/or …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!