3

In PostgreSQL one can create a User Defined Type with an implicit CHECK by doing the following:

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

In Sybase ASE 15.7 I've figured that the following is almost equivalent (except for the CHECK):

sp_addtype OrdinalT, "INTEGER";

How do I make a CHECK part of the user-defined type definition in Sybase?

2

You cannot make a check condition a part of the type definition syntactically, but you can create a rule:

CREATE RULE OrdinalTRule AS @value >= 0

and bind it to the data type:

sp_bindrule OrdinalTRule, OrdinalT

In order to modify the rule later, you will have to drop and recreate it. Before being dropped, the rule must be unbound:

sp_unbindrule OrdinalT

Note that the argument in the last statement is not the rule itself but the type to which the rule is bound.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.