3

デフォルトの制約値を 0 から 1 に変更する必要があります。これは次の方法で簡単に実行できます。

ALTER TABLE table DROP CONSTRAINT X
ALTER TABLE table ADD CONSTRAINT X default (1) for table.column

問題は、データベースで modelupdate を実行するたびに新しい制約を削除して作成したくないことです。そのため、制約の値が 0 の場合にこのコードを実行したいと考えています。

SQL でデフォルトの制約の値を確認することは可能ですか?

4

2 に答える 2

6

次のように、デフォルトの制約の「定義」を見つけることができます。

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'

ただし、実際の値自体ではなく、デフォルト値の文字列表現を返します(データ型が何であれ)。しかし、それはあなたが必要なものを見つけるのに役立つかもしれません

于 2015-10-15T11:44:45.520 に答える