日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > sybase > sybase事務中調用含有臨時表的存儲過程的問題

sybase事務中調用含有臨時表的存儲過程的問題

來源:程序員人生   發布時間:2014-01-02 23:28:02 閱讀次數:4313次
原來調用存儲過程的地方都沒有使用事務,當然里面包括多個表的更新操作,使用都很正常。后來我給加上了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,再次運行問題解決
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 成人高清视频在线观看 | 久久成人欧美 | 久久小草| 日韩欧美在线视频观看 | 狠狠亚洲| 在线播放日韩 | 国产欧美精品一区二区色综合 | 久久一级精品视频 | 国产aa| 天堂国产 | 国产毛片精品 | 日韩区欧美久久久无人区 | 亚洲iv一区二区三区 | 久久久久久久成人 | 国产一区二区三区在线免费看 | 日韩精品视频中文字幕 | 国产不卡在线观看 | www.7788久久久久久久久 | 日韩在线中文字幕 | 狠狠色狠狠色综合人人 | 亚洲国产视频一区 | 久久久久久久久久国产 | 高清久久| 免费成人在线观看视频 | 成人免费视频在线观看 | 国产成人亚洲精品 | 欧美大片一区二区三区 | 日韩和的一区二在线 | 亚洲视频在线一区 | 欧美日韩电影在线观看 | 国产在线网 | 亚洲一区二区三区免费视频 | 国产黄色一级毛片 | 成年人在线观看视频 | 一区二区免费电影 | 欧美视频在线看 | 国产伊人精品 | 久久精品国产一区二区三区 | 一区二区三区久久久 | 欧美又大粗又爽又黄大片视频 | 在线一区二区视频 |