如何从表中获取列键约束:SQL中的INFORMATION_SCHEMA?
我只需要获取包含主键,外键以及这些详细信息的列。
SELECT COLUMN_NAME AS COLUMNNAME,
DATA_TYPE AS DATATYPE,
CHARACTER_MAXIMUM_LENGTH,
IS_NULLABLE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'My_Table_Name'
答案 0 :(得分:1)
这可能会帮助...
USE AdventureWorks2012
GO
SELECT t.CONSTRAINT_NAME,t.TABLE_NAME,t.CONSTRAINT_TYPE,c.COLUMN_NAME
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS t
INNER JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE c ON t.CONSTRAINT_NAME = c.CONSTRAINT_NAME
-- WHERE t.TABLE_NAME = 'ProductVendor'
-- AND t.CONSTRAINT_TYPE = 'PRIMARY KEY'
答案 1 :(得分:-1)
尝试sys.indexes和sys.index_columns
在此之前,此问题已得到很好的回答: List of all index & index columns in SQL Server DB