[Seasar-user:3250] Re: ALTER文を動的に
    Hirotaka HONMA
    manhole
       
    2006年 2月 22日 (水) 08:41:50 JST
    
    
  
本間です。
on Wed, 22 Feb 2006 01:24:24 +0900
in [Seasar-user:3246] ALTER文を動的に
"J.r0ck" <[E-MAIL ADDRESS DELETED]> wrote:
> J.r0ckです
> 
> かなりディープな使い方なのでだめもとで質問です。
> 
> S2JDBCでALTER文を発行したいのですが
> ALTER文を動的に生成したいのです。
> 
> 要件としては、データ移行ツールを作っていまして
> ALTER SEQUENCE SEQ_PAGE_ID RESTART WITH 1000;
> の1000部分を移行データの最大シーケンスID+1で動的に変更したいと
> いうわがままな内容です。
> 
> ALTER文なので1000の部分はバインドできないのは周知なんですが
> diconでは
>     <component name="ResetSequenceHandler"
>         class="org.seasar.extension.jdbc.impl.BasicUpdateHandler">
>         <property name="sql">
>         <![CDATA[
>             "ALTER SEQUENCE SEQ_PAGE_ID RESTART WITH"
>         ]]>
>         </property>
>     </component>
> としといて、handler.execute()の前にSQL文をいじくる方法ってないでしょうか?
ぱっと思いつきですが、「埋め込み変数コメント」ではどうでしょ
うか?
http://s2dao.seasar.org/ja/s2dao.html#SQLBind
  ALTER SEQUENCE SEQ_PAGE_ID RESTART WITH /*$seqno*/1000
という感じでできそうに思います。
# S2JDBCではなくS2Daoが必要かも...
# QUERYアノテーションを使用するとかで。
---
本間 宏崇 /** Hirotaka HONMA */
[E-MAIL ADDRESS DELETED]
    
    
Seasar-user メーリングリストの案内