I've written a function that returns int
Still, I can't use it in CHECK constraint, this error is output:
'myFunction' is not a recognized built-in function name.
create table MyTable(
attr varchar(100) CHECK(myFunction(attr)=1)
);
I also tried
create table MyTable(
attr varchar(100)
);
alter table MyTable
add constraint CheckAttr
CHECK(myFunction(attr)=1);
I saw people wrote that it is not possible to invoke user defined functions in CHECK constraint, but here it's written it is possible:
CHECK constraints User-defined functions that return scalar values can be invoked in CHECK constraints if the argument values passed to the function reference columns only in the table or constants. Each time the query processor checks the constraint, query processor calls the function with the argument values associated with the current row being checked. The owner of a table must also be the owner of the user-defined function invoked by a CHECK constraint on the table.