谷本 心 in せろ部屋

はてなダイアリーから引っ越してきました

2007-03-22から1日間の記事一覧

引数がArrayのストアドプロシージャ

本日最後、引数がArrayのストアドプロシージャ。 これがちょっと面倒くさい。 まずはストアドプロシージャ定義から。 配列で渡されたPersonの名前を結合するだけ。 CREATE OR REPLACE FUNCTION "PERSON_NAME_MERGE" ( USERS in PERSON_ARRAY ) return VARCHA…

戻り値がArrayのストアドプロシージャ

次は、戻り値がArrayのストアドプロシージャ。 やはり公式ドキュメントのOracleコレクションの操作が参考になります。 定義したプロシージャの詳細は省略、気になる人はソースを読んで! CREATE TYPE PERSON_ARRAY AS VARRAY(10) OF PERSON / CREATE OR REPL…

引数がStructのストアドプロシージャ

続いて、引数がStructのストアドプロシージャの扱い方を考える。 PERSON型を渡して、PERSON.NAMEを返すようなプロシージャを定義する。 CREATE OR REPLACE FUNCTION "PERSON_NAME" ( USER in PERSON ) return VARCHAR2 is begin return USER.NAME; end; / こ…

戻り値がStructのストアドプロシージャ

まずはS2Dao云々は置いといて、戻り値がStructのストアドプロシージャの扱い方を考える。 Oracleオブジェクト型の操作を参考に、以下のような定義を作成する。 CREATE TYPE PERSON AS object ( ID NUMBER(5), NAME VARCHAR2(30) ) / CREATE OR REPLACE FUNCT…

s2dao-oracle作成開始。

s2dao-oracleを作成するにあたって、まずは目的を明確にしよう。 ストアドプロシージャ(procedure / function)経由で、ユーザ定義型、ユーザ定義配列を扱えるようにする。 DtoとStruct(java.sql.Struct / oracle.sql.STRUCT)のマッピングを自動的に行なう。 …