2013-01-11 23 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'