- PR -

PL/SQLを使用した関数作成に関して

1
投稿者投稿内容
BB
ベテラン
会議室デビュー日: 2005/05/08
投稿数: 52
投稿日時: 2005-11-26 09:28
PL/SQLで以下のようなことをやりたいと思っていますが、
可能なのでしょうか。


@引数がもし、AAA111だった場合はAAA-111のフォーマットで返すという関数を作成。
A下のようなSQLを実行
 select @で作成した関数(引数) from table
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-11-26 10:05
可能です・・・で、何処の辺りが分からないんです?
Functionの作り方も、文字列操作も、PL/SQLの初歩に類する事だと思うんですけど。
BB
ベテラン
会議室デビュー日: 2005/05/08
投稿数: 52
投稿日時: 2005-11-27 09:29
>甕星さん
ありがとうございます。自分PL/SQLでプログラムを組んだことがなく、
机上での勉強しかしたことがなかったため、
実現可・不可の確認をしたかった次第であります。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-11-27 10:34
引用:

BBさんの書き込み (2005-11-27 09:29) より:
>甕星さん
ありがとうございます。自分PL/SQLでプログラムを組んだことがなく、
机上での勉強しかしたことがなかったため、
実現可・不可の確認をしたかった次第であります。


Oracleから体験版を無償でダウンロードできます。机上だけで勉強するのではなく、実際に動かしてみることを強くお勧めします。
Desmo
大ベテラン
会議室デビュー日: 2004/03/24
投稿数: 149
投稿日時: 2005-11-30 17:03
PL/SQLで本格的なプログラムを組みたいのであれば、マニュアルや書籍できちんと勉強することをお勧めします。
でも実現可・不可の確認だけなら・・・ コンソール(SQL Plus等)で以下のように入力してみてください。
------------------------------------------------------------
CREATE FUNCTION TEST_FUNC(P1 VARCHAR2)
RETURN VARCHAR2 IS
R1 VARCHAR2(255);
BEGIN
R1 := SUBSTR(P1,1,3) || '-' || SUBSTR(P1,4);
RETURN (R1);
END;
/
------------------------------------------------------------
(大した機能はありませんが)これだけで1つストアドファンクションができます。
動作確認は、

SQL> SELECT DEPT_NAME,TEST_FUNC(DEPT_NAME) FROM DEPT;

のような方法で可能です。
作成したファンクションはサーバ上の残りますので、不要になったら

SQL> DROP FUNCTION TEST_FUNC;

で削除してください。
1

スキルアップ/キャリアアップ(JOB@IT)