web-dev-qa-db-ja.com

CHECKを使用してユーザー定義タイプを作成します

PostgreSQLでは、次のようにして、暗黙的なCHECKを使用してユーザー定義型を作成できます。

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

Sybase ASE 15.7では、次のものがほぼ同等であることがわかりました(CHECKを除く)。

sp_addtype OrdinalT, "INTEGER";

Sybaseでユーザー定義の型定義のCHECK部分を作成するにはどうすればよいですか?

チェック条件を構文的に型定義の一部にすることはできませんが、 ルールを作成する

CREATE RULE OrdinalTRule AS @value >= 0

および バインド データ型に:

sp_bindrule OrdinalTRule, OrdinalT

後でルールを変更するには、ルールを削除して再作成する必要があります。ドロップされる前に、ルールは nbound である必要があります:

sp_unbindrule OrdinalT

最後のステートメントの引数はルール自体ではなく、ルールがバインドされているタイプであることに注意してください。

2
Andriy M