谁能告诉我是否有办法以编程方式确定 Micorosft SQL Server 数据库表字段是否存在 NULL 或 NOT NULL 约束?我需要这个,以便我可以部署一个可以安全地重新运行的补丁。所以我追求这样的东西(概念/伪代码):
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 尚未更改,我想将其从“NOT NULL”更改为“NULL”。我只是不确定括号中的部分应该是什么。
我知道如何询问 dbo.sysobjects 以获取现有字段、现有外键约束等(已经有几个线程),但我只是不确定如何专门检查 NULL/NOT NULL 字段约束。任何帮助将非常感激。