Man page - set_constraints(7)
Manual
SET CONSTRAINTS
NAMESYNOPSIS
DESCRIPTION 描 述
NOTES 注 意
COMPATIBILITY 相 容 性
譯 者
跋
NAME
SET CONSTRAINTS - 設 定 當 前 事 務 的 約 束 模 式
SYNOPSIS
SET CONSTRAINTS { ALL | name [, ...] } { DEFERRED | IMMEDIATE }
DESCRIPTION 描 述
SET CONSTRAINTS 設 定 當 前 事 務 裡 的 約 束 運 算 的 特 性 。 在 IMMEDIATE 模 式 下 , 約 束 是 在 每 條 語 句 後 面 進 行 檢 查 的 。 在 DEFERRED 模 式 下 , 一 直 到 事 務 提 交 時 才 檢 查 約 束 。
在 你 把 約 束 的 模 式 修 改 成 IMMEDIATE 之 後 , 新 的 約 束 模 式 是 反 作 用 式 地 生 效 的 : 任 何 尚 在 等 待 的 , 需 要 在 事 務 結 束 檢 查 地 資 料 修 改 的 約 束 ( 在 使 用 DEFERRED 的 時 候 ) 都 將 在 執 行 SET CONSTRAINTS 命 令 的 時 候 馬 上 檢 查 。
從 建 立 的 時 候 開 始 , 一 個 約 束 總 是 表 現 為 下 面 三 個 特 性 之 一 : INITIALLY DEFERRED, INITIALLY IMMEDIATE DEFERRABLE, 或 INITIALLY IMMEDIATE NOT DEFERRABLE。 第 三 個 特 性 不 會 受 SET CONSTRAINTS影 響 。
目 前 , 只 有 外 部 索 引 鍵 約 束 被 這 個 設 定 影 響 。 檢 查 和 唯 一 約 束 總 是 立 即 檢 查 的 而 不 是 可 推 遲 的 。
NOTES 注 意
這 個 命 令 只 在 當 前 事 務 裡 修 改 約 束 的 行 為 。 因 此 , 如 果 你 在 事 務 塊 外 面 ( BEGIN/COMMIT 對 ) 執 行 這 個 命 令 , 它 將 顯 得 沒 有 任 何 作 用 那 樣 。 如 果 你 希 望 不 在 每 個 事 務 中 發 出 SET CONSTRAINTS 也 能 修 改 約 束 的 行 為 , 那 麼 在 建 立 這 些 約 束 的 時 候 宣 告 INITIALLY DEFERRED 或 者 INITIALLY IMMEDIATE。
COMPATIBILITY 相 容 性
這 條 命 令 與 SQL 標 準 裡 定 義 的 行 為 相 容 , 只 不 過 , 在 PostgreSQL 裡 , 它 只 適 用 於 外 部 索 引 鍵 約 束 。
譯 者
Postgresql 中 文 網 站 何 偉 平 <laser@pgsqldb.org>
跋
本
頁 面 中 文 版 由
中 文 man 手 冊 頁 計
劃 提 供 。
中 文 man 手 冊 頁 計
劃 :
https://github.com/man-pages-zh/manpages-zh