0
我正在處理不同的數據庫。我需要編寫一個查詢將返回表名具有數據類型uniqueidentifier
一個主鍵,這對缺省值或沒有默認值綁定查詢返回SQL Server中沒有默認值或主鍵綁定的表格
任何人都可以幫我嗎?提前致謝。
我正在處理不同的數據庫。我需要編寫一個查詢將返回表名具有數據類型uniqueidentifier
一個主鍵,這對缺省值或沒有默認值綁定查詢返回SQL Server中沒有默認值或主鍵綁定的表格
任何人都可以幫我嗎?提前致謝。
我更喜歡使用INFORMATION_SCHEMA的:
SELECT C.TABLE_CATALOG,
C.TABLE_SCHEMA,
C.TABLE_NAME,
C.COLUMN_NAME,
C.DATA_TYPE,
C.COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS C
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE U
ON C.TABLE_CATALOG = U.TABLE_CATALOG
AND C.TABLE_SCHEMA = U.TABLE_SCHEMA
AND C.TABLE_NAME = U.TABLE_NAME
AND C.COLUMN_NAME = U.COLUMN_NAME
WHERE OBJECTPROPERTY(OBJECT_ID(U.CONSTRAINT_SCHEMA + '.' + QUOTENAME(U.CONSTRAINT_NAME)), 'IsPrimaryKey') = 1
AND C.DATA_TYPE = 'uniqueidentifier'
AND C.COLUMN_DEFAULT IS NULL
[題外話]你爲什麼在主鍵列創建默認約束?我沒有看到它的任何用處。最大默認值只能插入一次 –
我還沒有創建任何默認約束。這是由其他人創建的舊數據庫,但我必須處理它。 – pedram
看看[這裏](http://stackoverflow.com/questions/3930338/sql-server-get-table-primary-key-using-sql-query)和[這裏](http://stackoverflow.com /問題/ 95967 /怎麼辦,你列表最主鍵的-A-SQL服務器表)。 –