[seasar-dotnet:2331] Re: 2WaySQLの記述方法について

志水正幸 [E-MAIL ADDRESS DELETED]
2013年 10月 25日 (金) 03:17:45 JST


こんばんわ。志水です。

なるほど。
こういう記事やサンプルがあったんですね。
見落としていたようです。
頭文字は、宣言は小文字、パラメータ利用時は大文字が正式なようですね。

この書き方で統一したいと思います。
ありがとうございました。


(2013/10/25 0:07), taknb2nch wrote:
> こんにちは、taknb2nchです。
>
> 私もどれが正解かと言われると自信がありませんが、
> こちらにもありますように、
> http://dbflute.net.sandbox.seasar.org/ja/introduction/index.html#methodinit
> 「外だしSQLのパラメータコメント上でのプロパティの参照は...注意が必要で
> す。」
> と書かれてあります。
>
> またParameterBeanの定義については、
> https://www.seasar.org/svn/sandbox/dbflute.net/trunk/dfnet-basic-example/source/DfExample/DBFlute/ExBhv/
> のサンプル(sqlファイル)を見てみますと、
> フィールド(メンバ変数)のように先頭は小文字で定義されています。
>
> ですので私は、
> ParameterBeanの定義は先頭小文字、
> ParameterBeanのプロパティを参照する部分は先頭大文字、
> を使用しています。
>
>
>
> 2013年10月24日 19:23 志水正幸 <ie2m-smz @ asahi-net.or.jp
> <mailto:ie2m-smz @ asahi-net.or.jp>>:
>
>     こんにちは。お世話になっています。
>     志水と申します。
>
>     2WaySQLの記述方法なのですが、
>     よく、説明も読まずに作ってしまった私も悪いのですが、
>     DBFLUTEの「パラメータコメント」では、両方とも小文字なんですよね〜。
>     しかし別の書き方でも動くんです。
>     でも、すこし書き方が違うと動かない場合もあるんです。
>     何が正式な記述方法なのか、よくわからなくなってしまいました。
>     まぁ動いているっぽいのでイイと言えばそれまでなんですが・・・
>     なんか気持ち悪いので、教えてください。
>
>     以下の<参考SQL>(適当なSQLなので構文おかしいかも)ような記述をし
>     て実行したところ、
>     条件部分の「pmb.misecd」に値を入れていても無視されている状態になり
>     ました。
>      >>/*IF pmb.misecd != null*/T_SIWAKE.misecd_cd =
>     /*pmb.misecd*/'110001'/*END*/
>     無視されているのでおかしいと思い、以下のように他の条件と同じように
>     pmb変数の頭文字を大文字に
>     変更したところ認識されるようになりました。
>      >>/*IF pmb.Misecd != null*/T_SIWAKE.misecd_cd =
>     /*pmb.Misecd*/'110001'/*END*/
>
>     また、別のSQLでは、
>     下記のように宣言部分のpmb変数の頭文字も大文字で、且つ
>     SQL内のpmb変数の頭文字も大文字の場合もうまく動作しています。
>     -- !df:pmb extends Paging!
>     -- !!String Misecd!!
>     -- !!String Syubetucd!!
>     -- !!String Nendo!!
>
>
>     <結論>
>     ・宣言部分は、頭文字は大文字でも小文字でも関係なし
>     ・SQL条件内は、頭文字は大文字もしくは小文字でそろえないとダメ
>      ⇒SQL条件内で混在はダメ
>     ・宣言部分のpmb変数の頭文字が小文字でもSQL条件内でのpmb変数は大文
>     字でもOK。
>     こんな感じだと思うのですが、どうでしょうか?
>
>     以上、宜しくお願いします。
>
>     *--<参考
>     SQL>---------------------------------------------------------------------------*
>     -- #xxxxxxxxSQL#
>
>     -- !df:pmb extends Paging!
>     -- !!String misecd!!
>     -- !!String syubetucd!!
>     -- !!String nendo!!
>
>     SELECT T_XXXXX.misecd, SUM(NVL(T_XXXXX.KIN,0)) AS KIN,
>     SUM(NVL(T_XXXXX.TAX,0)) AS TAX
>     ,TRUNC(T_XXXXX.TOROKU_YMD,'MM') AS TOROKU_YMD
>     FROM T_XXXXX
>     /*BEGIN*/WHERE
>     /*IF pmb.misecd != null*/T_SIWAKE.misecd_cd =
>     /*pmb.misecd*/'110001'/*END*/
>     /*IF pmb.Syubetucd != null*/AND T_XXXXX.kaikei_cd =
>     /*pmb.Syubetucd*/'03'/*END*/
>     /*IF pmb.Nendo != null*/AND T_XXXXX.nendo = /*pmb.Nendo*/'2013'/*END*/
>     /*END*/
>     GROUP BY T_XXXXX.misecd,TRUNC(T_XXXXX.TOROKU_YMD,'MM')
>     ORDER BY T_XXXXX.misecd,TRUNC(T_XXXXX.TOROKU_YMD,'MM')
>
>     _______________________________________________
>     seasar-dotnet mailing list
>     seasar-dotnet @ ml.seasar.org <mailto:seasar-dotnet @ ml.seasar.org>
>     https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
>
>
>
> _______________________________________________
> seasar-dotnet mailing list
> seasar-dotnet @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet

-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-dotnet/attachments/20131025/cfb07cf0/attachment.html>


seasar-dotnet メーリングリストの案内