SQL Server で制約のソースを表示する方法を誰か教えてもらえますか?
チェック制約のあるテーブルがあります。挿入を行うと、制約に違反しています。これを回避できるように、制約が何であるかを知りたいのですが、制約の名前しか取得できません。
sys.objects で調べましたが、これには何も含まれていませんでした。
ありがとう
SQL Server で制約のソースを表示する方法を誰か教えてもらえますか?
チェック制約のあるテーブルがあります。挿入を行うと、制約に違反しています。これを回避できるように、制約が何であるかを知りたいのですが、制約の名前しか取得できません。
sys.objects で調べましたが、これには何も含まれていませんでした。
ありがとう
これを試してみてください -
SELECT
cc.name
, cc.[definition]
FROM sys.check_constraints cc
WHERE cc.parent_object_id = OBJECT_ID('dbo.your_table')
制約の詳細は、名前がわかっている場合は、より焦点を絞った適切なシステム カタログ ビューsys.check_constraints
(sys.objects
最小限の情報しか含まれていません) で確認できます。
SELECT *
FROM sys.check_constraints
WHERE Name = 'your-name-here'
あなたにとって最も興味深い列definition
は、その制約が何をするかを定義する列です。たとえば、どの範囲または値のリストが許容されるかなどです。