Sybase

使用 CHECK 創建使用者定義類型

  • January 26, 2017

在 PostgreSQL 中,可以通過執行以下操作創建具有隱式 CHECK 的使用者定義類型:

CREATE DOMAIN OrdinalT AS INTEGER CHECK (value >= 0);

在 Sybase ASE 15.7 中,我發現以下內容幾乎是等效的(除了 CHECK):

sp_addtype OrdinalT, "INTEGER";

如何使 CHECK 成為 Sybase 中使用者定義類型定義的一部分?

您不能在語法上將檢查條件作為類型定義的一部分,但您可以創建規則

CREATE RULE OrdinalTRule AS @value >= 0

並將其綁定到數據類型:

sp_bindrule OrdinalTRule, OrdinalT

為了稍後修改規則,您必須刪除並重新創建它。在被刪除之前,規則必須是unbound

sp_unbindrule OrdinalT

請注意,最後一條語句中的參數不是規則本身,而是規則綁定到的類型。

引用自:https://dba.stackexchange.com/questions/161765