MicorosftSQLServerデータベーステーブルフィールドにNULLまたはNOTNULL制約があるかどうかをプログラムで判断する方法があるかどうかを教えてください。再実行しても安全なパッチを展開できるようにするために、これが必要です。だから私はこのようなもの(概念/擬似コード)を求めています:
IF (my_table COLUMN end_date HAS CONSTRAINT OF 'NOT NULL') ALTER TABLE my_table ALTER COLUMN end_date DATETIME NULL
したがって、my_table.end_dateがまだ変更されていない場合は、「NOTNULL」から「NULL」に変更したいと思います。角かっこ内の部分がどうあるべきかわかりません。
既存のフィールドや既存の外部キー制約などについてdbo.sysobjectsに問い合わせる方法は知っていますが(すでにいくつかのスレッドがあります)、NULL /NOTNULLフィールドを具体的にチェックする方法がわかりません。制約。どんな助けでも大歓迎です。