我部署了一个现有程序,其中某些客户数据库的字段设置为非空,而其他客户数据库可以为空。我需要运行一个补丁来更正数据库,以便该列可以为空,但不需要针对所有数据库运行它,只需要它不正确的数据库。是否有一个可以在SQL Server中使用的简单方法来执行此检查?最好是可以作为SQL脚本的一部分运行的东西。
答案 0 :(得分:10)
查看INFORMATION_SCHEMA视图。例如:
SELECT
IS_NULLABLE
FROM
My_DB.INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_SCHEMA = 'dbo' AND
TABLE_NAME = 'My_Table' AND
COLUMN_NAME = 'My_Column'
IS_NULLABLE将为“YES”或“NO”。
答案 1 :(得分:2)
select Table_Name, Column_Name, Is_Nullable
from information_schema.columns
会得到你的信息
答案 2 :(得分:2)
select isnullable from syscolumns where name = 'status'