<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    歲月如哥
    人生非夢
    posts - 50,comments - 144,trackbacks - 0
    原來調用存儲過程的地方都沒有使用事務,當然里面包括多個表的更新操作,使用都很正常。后來我給加上了jdbc事務,代碼如下:
    引用:
    TransactionStatus status = super.beginTransaction();
                    try {
                            map = getFtglUtils().cancelFtrw(getPageAjlb(),
                                            key.getId1().intValue(), key.getId2().intValue(), qxyy,
                                            iState);
                            super.getTransactionManager().commit(status);
                    } catch (Exception e) {
                            super.getTransactionManager().rollback(status);
                            throw new SystemException(e);
                    }
    加上事務之后就發現存儲過程沒有完全執行,里面的update語句都沒有執行,但是最后的select還能返回結果集,調用后臺也不報錯……百思不得其解。后來湊巧把存儲過程中創建臨時表的如下語句
    引用:
    -- 創建臨時表
              create table #tmpBAGL
              (
                  BH int,                    -- 編號
                  RWXH smallint              -- 任務序號
              )  
    移到了使用這個臨時表的if else里面,因為只有在一定的條件下才需要創建臨時表。再試了一下調用存儲過程,發現一切正常了!這一次存儲過程沒有執行創建臨時表,就正常了……遂上網搜到一個如下的描述:
    引用:
    select into可以在事務中使用,但是前提條件是這個事務只有select into一條語句。
    SELECT INTO command not allowed within multi-statement transaction.  
    注意是multi-statement transaction
    大家都知道,select into #tabel的最大優勢是速度快,但這個速度快是用不記錄日志來實現的。
    而使用事務的目的就是要么事務中的所有操作全部執行,要么所有操作全部回滾。
    這是靠日志中記錄的操作來保證的。
    如果select into可以在多語句的事務中使用,但是它本身又是不計日志的,也就是不能回滾的。
    這就和事務的定義矛盾了。
    因此,select into不能在多語句的事務中使用。
    但也不是說我們不能使用select into這個好東東,set chained off,使用非鏈式事務或者把select into
    放在單獨一個事務中運行就可以了。
    還有一個在多語句事務中被禁止的,而在應用中會常需要的命令是truncate table。
    原因和解決方法也如上所說。
    把存儲過程還原成最開始那樣,在創建臨時表之前加上set chained off,再次運行問題解決。
    posted on 2009-01-12 09:35 歲月如歌 閱讀(2791) 評論(1)  編輯  收藏

    FeedBack:
    # re: sybase事務中調用含有臨時表的存儲過程的問題
    2010-09-17 09:16 | strawbingo
    不錯,謝了。
    但是可以更詳細一些  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲欧美日韩中文二区| 最近的中文字幕大全免费8| 亚洲VA中文字幕无码毛片| 成人无码区免费视频观看| 免费毛片在线看不用播放器| 亚洲国产综合AV在线观看| 亚洲一区二区三区播放在线| 亚洲AV无码久久精品色欲| 亚洲成在人线电影天堂色| 911精品国产亚洲日本美国韩国 | 成人免费观看一区二区| 久草免费福利资源站| 免费观看成人久久网免费观看| 一区二区3区免费视频| 一个人看的免费观看日本视频www 一个人看的免费视频www在线高清动漫 | www国产亚洲精品久久久日本| 四虎国产精品免费久久| 999国内精品永久免费观看| 亚洲狠狠爱综合影院婷婷| 曰韩亚洲av人人夜夜澡人人爽| 亚洲午夜AV无码专区在线播放 | 亚洲欧美日韩综合俺去了| 精品成人免费自拍视频| 国产一级大片免费看| 日本媚薬痉挛在线观看免费| 天天看免费高清影视| 在线观看亚洲免费视频| 亚洲欧洲国产精品你懂的| 亚洲成人动漫在线观看| 福利免费在线观看| 亚洲国产精品免费视频| 啦啦啦完整版免费视频在线观看| 亚洲高清中文字幕免费| 美女黄网站人色视频免费国产| 全免费A级毛片免费看网站| 色拍自拍亚洲综合图区| 亚洲午夜久久久久久尤物| 亚洲AV噜噜一区二区三区| 久久性生大片免费观看性| 亚洲黄色免费网站| 亚洲va久久久噜噜噜久久|