我對SQL查詢比較陌生。SQL-識別可爲空的值
我有我的SQL數據庫(1500)大量表的
我的問題如下:
我需要確定是從哪個有默認值的所有表空列?
我怎麼能去所有的表?
任何幫助或相同的教程也將非常有幫助。
謝謝
我對SQL查詢比較陌生。SQL-識別可爲空的值
我有我的SQL數據庫(1500)大量表的
我的問題如下:
我需要確定是從哪個有默認值的所有表空列?
我怎麼能去所有的表?
任何幫助或相同的教程也將非常有幫助。
謝謝
您可以使用INFORMATION_SCHEMA得到這個數據,列「COLUMN_DEFAULT」和「IS_NULLABLE」會給你你所需要的。
SELECT *
FROM information_schema.columns c with (Nolock)
使用SQL Server的自描述的特點: -
SELECT TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE IS_NULLABLE = 'YES'
OR COLUMN_DEFAULT IS NOT NULL
SELECT
OBJECT_NAME(c.object_id), *
FROM
sys.columns c
JOIN
sys.default_constrainst dc ON c.columnid = dc.parent_column_id AND c.object_id = dc.parent_object_id
WHERE
c.is_nullable = 1
你好,謝謝你。有一個問題。你爲什麼指定「with(nolock)」?我爲我的無知道歉,但我沒有得到它。 – JJunior
這不是必需的,但它使查詢在檢索數據時鎖定表。 – msmucker0527
謝謝你的解釋。 – JJunior