<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # ROLLBACK TO SAVEPOINT ## Name ROLLBACK TO SAVEPOINT?--?回滾到一個保存點 ## Synopsis ``` ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] _savepoint_name_ ``` ## 描述 回滾所有指定保存點建立之后執行的命令。保存點仍然有效,并且需要時可以再次回滾到該點。 `ROLLBACK TO SAVEPOINT`隱含地刪除所有在該保存點之后建立的保存點。 ## 參數 `_savepoint_name_` 回滾截至的保存點。 ## 注意 使用[RELEASE SAVEPOINT](#calibre_link-1212)刪除一個保存點, 而不會拋棄這個保存點建立之后執行的命令結果。 聲明一個還沒有建立的保存點名字是一個錯誤。 在保存點方面,游標有一些非事務性的行為。任何在保存點里打開的游標都會在回滾掉這個保存點之后關閉。 如果一個前面打開了的游標在保存點里面,并且游標被一個`FETCH`或`MOVE`命令影響, 而這個保存點稍后回滾了,那么這個游標仍然在`FETCH`讓它指向的位置 (也就是,由`FETCH`造成的游標動作不會被回滾)。關閉一個游標的行為也不會被回滾給撤消掉。 但是,如果由游標查詢引起的副作用(如查詢調用不穩定函數引起的副作用)在一個稍后會回滾的保存點發生, 那么他們也_會_回滾。如果一個游標的操作導致事務回滾,那么這個游標就會置于不可執行狀態, 所以,盡管一個事務可以用`ROLLBACK TO SAVEPOINT`重新恢復,但是游標不能再使用了。 ## 例子 撤銷`my_savepoint`建立之后執行的命令的影響: ``` ROLLBACK TO SAVEPOINT my_savepoint; ``` 游標位置不受保存點回滾的影響: ``` BEGIN; DECLARE foo CURSOR FOR SELECT 1 UNION SELECT 2; SAVEPOINT foo; FETCH 1 FROM foo; ?column? ---------- 1 ROLLBACK TO SAVEPOINT foo; FETCH 1 FROM foo; ?column? ---------- 2 COMMIT; ``` ## 兼容性 SQL標準聲明關鍵字`SAVEPOINT`是必須的,但是PostgreSQL 和Oracle允許省略`SAVEPOINT`關鍵字。SQL 只允許`WORK` 而不是`TRANSACTION`作為`ROLLBACK`后面的無意義關鍵字。還有, SQL 有一個可選的`AND [ NO ] CHAIN`子句,目前PostgreSQL還不支持。 否則,這個命令完全兼容 SQL 標準。 ## 又見 [BEGIN](#calibre_link-493), [COMMIT](#calibre_link-494), [RELEASE SAVEPOINT](#calibre_link-1212), [ROLLBACK](#calibre_link-495), [SAVEPOINT](#calibre_link-1310)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看