<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # SET CONSTRAINTS ## Name SET CONSTRAINTS?--?設置當前事務的約束檢查模式 ## Synopsis ``` SET CONSTRAINTS { ALL | _name_ [, ...] } { DEFERRED | IMMEDIATE } ``` ## 描述 `SET CONSTRAINTS`設置當前事務里的約束檢查的特性。`IMMEDIATE` 約束是在每條語句后面進行檢查。`DEFERRED`約束一直到事務提交時才檢查。 每個約束都有自己的`IMMEDIATE`或`DEFERRED`模式。 從創建的時候開始,一個約束總是給定為 `DEFERRABLE INITIALLY DEFERRED`, `DEFERRABLE INITIALLY IMMEDIATE`, `NOT DEFERRABLE` 三個特性之一。 第三種總是`IMMEDIATE`,并且不會受`SET CONSTRAINTS`影響。 頭兩種以指定的方式啟動每個事務,但是他們的行為可以在事務里用`SET CONSTRAINTS`改變。 帶著一個約束名列表的`SET CONSTRAINTS`改變這些約束的模式(都必須是可推遲的)。 每個約束名都可以是模式修飾的。如果沒有指定任何模式名,那么使用當前模式搜索路徑查找第一個匹配名。 `SET CONSTRAINTS ALL`改變所有可推遲約束的模式。 當`SET CONSTRAINTS`把一個約束從`DEFERRED`改成 `IMMEDIATE`的時候,新模式反作用式地起作用: 任何將在事務結束準備檢查的數據修改都將在執行`SET CONSTRAINTS`的時候檢查。 如果違反了任何約束,`SET CONSTRAINTS`都會失敗(并且不會修改約束模式)。 因此,`SET CONSTRAINTS`可以用于強制在事務中某一點進行約束檢查。 目前,僅`UNIQUE`, `PRIMARY KEY`, `REFERENCES` (外鍵), 和 `EXCLUDE`約束受該設置影響。`NOT NULL` 和 `CHECK` 約束總在一行被插入或者修改時被檢查(_不在_語句末)。 未聲明`DEFERRABLE`的唯一性和排除性約束也立即檢查。 被聲明為"約束觸發"的觸發器的觸發也是受該設置控制的, 他們在相關約束應被檢查的相同時間觸發。 ## 注意 因為PostgreSQL不要求約束名稱在一個模式內是獨一無二的 (但每個表必須唯一),多于一個約束名匹配一個特定約束名是可能的。在這種情況下, `SET CONSTRAINTS`將作用于所有的匹配。對于一個無模式限定的名稱, 一旦一個或多個匹配在搜索路徑下的相同模式中被找到,路徑中晚出現的模式不會被搜索。 這個命令只在當前事務里修改約束的行為。因此,如果你在事務塊之外 (`BEGIN`/`COMMIT` 對)執行這個命令,它將沒有任何作用。 ## 兼容性 這條命令與 SQL 標準里定義的行為兼容,只不過,在PostgreSQL里, 它不適用于`NOT NULL` 和 `CHECK`約束。還有,PostgreSQL 立即檢查不可推延的唯一性約束,不是像標準建議的那樣在語句末檢查。
                  <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>

                              哎呀哎呀视频在线观看