<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
    原來調(diào)用存儲過程的地方都沒有使用事務(wù),當(dāng)然里面包括多個表的更新操作,使用都很正常。后來我給加上了jdbc事務(wù),代碼如下:
    引用:
    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);
                    }
    加上事務(wù)之后就發(fā)現(xiàn)存儲過程沒有完全執(zhí)行,里面的update語句都沒有執(zhí)行,但是最后的select還能返回結(jié)果集,調(diào)用后臺也不報錯……百思不得其解。后來湊巧把存儲過程中創(chuàng)建臨時表的如下語句
    引用:
    -- 創(chuàng)建臨時表
              create table #tmpBAGL
              (
                  BH int,                    -- 編號
                  RWXH smallint              -- 任務(wù)序號
              )  
    移到了使用這個臨時表的if else里面,因為只有在一定的條件下才需要創(chuàng)建臨時表。再試了一下調(diào)用存儲過程,發(fā)現(xiàn)一切正常了!這一次存儲過程沒有執(zhí)行創(chuàng)建臨時表,就正常了……遂上網(wǎng)搜到一個如下的描述:
    引用:
    select into可以在事務(wù)中使用,但是前提條件是這個事務(wù)只有select into一條語句。
    SELECT INTO command not allowed within multi-statement transaction.  
    注意是multi-statement transaction
    大家都知道,select into #tabel的最大優(yōu)勢是速度快,但這個速度快是用不記錄日志來實現(xiàn)的。
    而使用事務(wù)的目的就是要么事務(wù)中的所有操作全部執(zhí)行,要么所有操作全部回滾。
    這是靠日志中記錄的操作來保證的。
    如果select into可以在多語句的事務(wù)中使用,但是它本身又是不計日志的,也就是不能回滾的。
    這就和事務(wù)的定義矛盾了。
    因此,select into不能在多語句的事務(wù)中使用。
    但也不是說我們不能使用select into這個好東東,set chained off,使用非鏈?zhǔn)绞聞?wù)或者把select into
    放在單獨一個事務(wù)中運行就可以了。
    還有一個在多語句事務(wù)中被禁止的,而在應(yīng)用中會常需要的命令是truncate table。
    原因和解決方法也如上所說。
    把存儲過程還原成最開始那樣,在創(chuàng)建臨時表之前加上set chained off,再次運行問題解決。
    posted on 2009-01-12 09:35 歲月如歌 閱讀(2791) 評論(1)  編輯  收藏

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

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 美女露100%胸无遮挡免费观看| 亚洲人成网网址在线看| 免费人人潮人人爽一区二区| 久久久久se色偷偷亚洲精品av| 桃子视频在线观看高清免费视频| 亚洲熟妇av一区二区三区| 亚洲视频免费在线播放| 久操免费在线观看| 亚洲四虎永久在线播放| 亚洲精品成a人在线观看☆| 在线视频免费观看www动漫| 亚洲AV色无码乱码在线观看| 久久国产乱子免费精品| 久久久婷婷五月亚洲97号色 | 亚洲综合无码精品一区二区三区 | 亚洲桃色AV无码| A级毛片高清免费视频在线播放| 91免费播放人人爽人人快乐| 亚洲啪啪免费视频| 免费黄色毛片视频| 特级aaaaaaaaa毛片免费视频| 亚洲一区二区三区在线视频| 国内永久免费crm系统z在线 | 中日韩亚洲人成无码网站| 性感美女视频免费网站午夜 | 亚洲婷婷国产精品电影人久久| 国产日韩AV免费无码一区二区三区 | 99精品视频在线观看免费专区| 亚洲欧洲日产国产最新| 免费国产精品视频| 爽爽爽爽爽爽爽成人免费观看| 亚洲在成人网在线看| 免费二级毛片免费完整视频| 国产免费一区二区视频| 99久久国产亚洲综合精品| 国产乱辈通伦影片在线播放亚洲 | 三年片在线观看免费观看高清电影| 亚洲va在线va天堂va888www| 免费大片黄在线观看yw| 免费大片黄在线观看| 久久精品亚洲一区二区三区浴池 |