【Oracle】Functionを作ろう!【自作関数】
こんばんにちはございます。 トランです。
今回はOracleのFunction
を作っていこうと思います。
Oracle使ったことある人ならばご存じかもしれませんがNVLやUPPER等
最初から用意されている関数がありますよね。こいつに自分で作った関数を加えることができます。
ObjectBrowser12のお試し版を使ってDBへ接続→FUNCTIONで右クリック→新規作成
でソースは下記↓↓↓↓
CREATE OR REPLACE FUNCTION FNC_TESTTEST(vPARA1 IN VARCHAR2,vPARA2 IN VARCHAR)
RETURN VARCHAR2
IS
wRSLT_VALUE VARCHAR2(20) := '';
wCHAR_VALUE CHAR(4) := 'DEF1';
wVARCHAR2_VALUE VARCHAR2(4) := 'DEF2';
BEGIN
IF vPARA1='5' THEN
wCHAR_VALUE :='CH1';
END IF;
IF vPARA2='9' THEN
wVARCHAR2_VALUE :='CH2';
END IF;
wRSLT_VALUE := wCHAR_VALUE||' '||wVARCHAR2_VALUE;
RETURN wRSLT_VALUE;
END;
/
作成をクリックで、
世界で一番使いどころのないFunctionができたよ!!
呼び出し方はこんな感じ
select FNC_TESTTEST('5','9') from dual;
出力結果↓↓↓↓
FNC_TESTTEST('5','9')
CH1 CH2
第1引数に5の文字、第2引数に9の文字を入れてあげると出力が変わるよ!!!
それだけ!
もっとましなのつくろうと思ったんですが、select into 使ってなんかテーブルからデータ取得するためには取得するデータを持ったテーブルが必要なんですよね。
今日は洗濯があるからね。
参考サイトはこちら↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
ORACLE/FUNCTION編 - オラクルちょこっとリファレンス
そんなわけで、おしまい。