📄️ Constraints
This article is specifically about table constraints. USoft also has something called domain constraints.
📄️ Domain constraints
A domain constraint is a restriction (a form of data integrity) that applies to column values of a given type. It is expressed in one or more SQL fragments.
📄️ Constraint messages
In a domain constraint and in a table constraint, you can specify a Message in natural language, eg., in English. Such a message is destined for your end user and is presented in an interactive dialog if the constraint is effective.
📄️ Transitional constraints
A transitional constraint or transitive constraint is a constraint that, in its definition, refers to both the old values and the new values of one or more of the columns manipulated.
📄️ Transitional constraint troubleshooting
OLD() value during constraint processing
📄️ Deferred table constraints
By default, a USoft Rules Engine determines internally when a constraint is activated. As a developer, you can concentrate on defining the constraint in terms of functionality. The Rules Engine guarantees that all the constraints you define will be activated at runtime in an optimal way, so that application data meet the quality standards defined by your constraints. This includes the order in time in which your constraints will be considered.
📄️ Recursive constraints
Recursive constraints are productive constraints that cause themselves to be evaluated again, thereby creating a "loop". Recursive constraints are sometimes, but not always, an indication of poor conceptual definition.
📄️ Constraint comments
You can leave comments in your constraint code for yourself and other team members.
📄️ USoft Rule Language
Introduction