I need to change a default constraint value from 0 to 1. This is done easy with:
ALTER TABLE table DROP CONSTRAINT X
ALTER TABLE table ADD CONSTRAINT X default (1) for table.column
The problem is that I don't want to drop and create a new constraint every time I run modelupdate on my database. That's why I want to run this code IF the value of the constraint is 0.
Is it possible to check the value of a default constraint in SQL, if yes, how?
You can find the "definition" of the default constraint like this:
SELECT
DefaultConstraintName = df.name,
df.definition
FROM
sys.default_constraints df
INNER JOIN
sys.tables t ON df.parent_object_id = t.object_id
INNER JOIN
sys.columns c ON c.object_id = df.parent_object_id AND df.parent_column_id = c.column_id
WHERE
t.Name = N'YourTableNameHere'
AND c.Name = N'YourColumnNameHere'
That however will be returning a string representation of your default value - not the actual value itself (in whatever datatype it is). But that might help you find what you need
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With