明らかな主キー/外部キーの制約に加えて、データベース内のすべての制約のリストを取得する簡単な方法はありますか?
2079 次
1 に答える
8
SQL Server 2005+を想定しています(SQL Serverのバージョンを指定するのに常に役立ちます!):
SELECT
[constraint] = name,
[object] = QUOTENAME(OBJECT_SCHEMA_NAME(parent_object_id))
+ '.' + QUOTENAME(OBJECT_NAME(parent_object_id)),
[definition]
FROM sys.check_constraints
ORDER BY [object], name;
SELECT
[constraint] = name,
[object] = QUOTENAME(OBJECT_SCHEMA_NAME(parent_object_id))
+ '.' + QUOTENAME(OBJECT_NAME(parent_object_id)),
[definition]
FROM sys.default_constraints
ORDER BY [object], name;
それらを単一の結果セットに結合する場合:
SELECT
[constraint] = name,
type_desc,
[object] = QUOTENAME(OBJECT_SCHEMA_NAME(parent_object_id))
+ '.' + QUOTENAME(OBJECT_NAME(parent_object_id)),
[definition]
FROM sys.check_constraints
UNION ALL
SELECT
[constraint] = name,
type_desc,
[object] = QUOTENAME(OBJECT_SCHEMA_NAME(parent_object_id))
+ '.' + QUOTENAME(OBJECT_NAME(parent_object_id)),
[definition]
FROM sys.default_constraints
ORDER BY [object], name;
于 2012-05-18T18:55:36.473 に答える