2013-01-11 24 views
-1

我創建使用下面的語句在SQL Server數據庫唯一約束:從SQL Server的唯一約束名稱與C#

ALTER TABLE mytable ADD CONSTRAINT mytable_unique UNIQUE (uid) 

我怎樣才能得到所有唯一約束的名稱程序用C#SQLConnection對象?

+0

從MSDN你可以做一個簡單的谷歌搜索[拿到的所有約束SQL Server中的列表(HTTP ://msdn.microsoft.com/en-us/library/ms345522.aspx) – MethodMan

+0

USE ; GO SELECT OBJECT_NAME(的object_id)作爲constraint_name命令 ,SCHEMA_NAME(schema_id)AS SCHEMA_NAME ,OBJECT_NAME(parent_object_id)AS TABLE_NAME ,type_desc ,CREATE_DATE ,modify_date ,is_ms_shipped ,is_published ,is_schema_published FROM sys.objects中 WHERE type_desc LIKE'%CONSTRAINT' AND parent_object_id = OBJECT_ID(''); GO – MethodMan

回答

3

查詢上information_schema.constraint_column_usage

SELECT TC.Constraint_Name , 
     CC.Column_Name 
FROM information_schema.table_constraints TC 
     INNER JOIN information_schema.constraint_column_usage CC 
      ON TC.Constraint_Name = CC.Constraint_Name 
WHERE TC.constraint_type = 'Unique' 
ORDER BY TC.Constraint_Name 
3

您還可以從sys.key_constraints得到這些:

select name from sys.key_constraints where type = 'UQ'