[seasar-dotnet:1091] Re: S2Dao.NET、DBFlute - Oracleのパッケージ対応について
k.moriwaki
[E-MAIL ADDRESS DELETED]
2008年 10月 24日 (金) 00:44:17 JST
森脇です
PL/SQLの詳細な説明ありがとうございます。
> その Ada のパッケージは Java でいうと
> static メンバだけのクラスみたいな感じです.
> Java でクラスが別とはいえ同じメソッド名は
> 設計的に紛らわしくあまり良いことではない,
> なんて考えないのと同じです.
今までストアドやファンクションをパッケージ化するのは実行速度
のためだけと思っていましたが、概念というかそういう意味があった
んですね。
2008/10/24 0:00 Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>:
> 小林 (koichik) です.
>
> 横から失礼.
>
> Date: Thu, 23 Oct 2008 22:23:44 +0900
> From: kubo <[E-MAIL ADDRESS DELETED]>
> To: [E-MAIL ADDRESS DELETED]
> Subject: [seasar-dotnet:1084] Re: S2Dao.NET、DBFlute - Oracleのパッケージ対応について
>
>> パッケージが別とはいえ同じプロシージャ名は
>> 設計的に紛らわしくあまり良いことではないので、
>
> PL/SQL のパッケージは Java のクラスに
> 相当するものなので,同名のプロシージャや
> ファンクションが設計的によくないというのは
> おかしいと思います.
>
> PL/SQL は,言語的には Ada の影響を強く
> 受けているというか,SQL を埋め込み可能な
> Ada もどきというか,Pro*Ada と呼んでも
> まぁ嘘ではないんじゃないかみたいな言語です.
>
> その Ada のパッケージは Java でいうと
> static メンバだけのクラスみたいな感じです.
>
> なので,PL/SQL でも異なるパッケージで同名の
> プロシージャやファンクションというのは普通に
> 使うというか,名前を被らないようにしようという
> 意識をしません.
>
> Java でクラスが別とはいえ同じメソッド名は
> 設計的に紛らわしくあまり良いことではない,
> なんて考えないのと同じです.
>
> 例えば Oracle 標準のライブラリでも,
>
> DBMS_CAPTURE_ADM
> DBMS_CUBE
> DBMS_LOGMNR_D
> DBMS_LOGSTDBY
>
> という 4 つのパッケージに BUILD という
> 同名のプロシージャが存在するようです.
> # パラメータの数などは違う.
>
> DBFlute で対応するしないは別として,
> PL/SQL のパッケージはこんな感じと
> いうことで.
>
> P.S.
> パッケージがメタデータとしてはカタログとして
> 取れちゃうみたいですが,本来はスキーマより
> 上位概念のカタログとは全く関係なくて,
> スキーマ内のオブジェクトです.
>
>
> --
> <component name="koichik">
> <property name="fullName">"Koichi Kobayashi"</property>
> <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
> <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
> </component>
>
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
seasar-dotnet メーリングリストの案内