0

ColdFusion 10 上の SQL Server 11 に対して Hibernate ORM を使用する。

エラーが発生します:

[Macromedia][SQLServer JDBC Driver][SQLServer]ALTER TABLE ステートメントが FOREIGN KEY 制約 "FK9E8E5409B9A80FE4" と競合していました。データベース「dbname」、テーブル「dbo.TableName」、列「TableId」で競合が発生しました。

SQL Server Management Studio で関連テーブルを確認したところ、そのテーブルの ID を持つ外部キー制約も関連テーブルも見つからないことを除いて、これは自明のようです。

データベース システム テーブルを照会するなどして、制約を特定する方法はありますか?

更新:間違ったシステム ビューを探していました - dbname.sys.foreign_keys中を見ると、たくさんの外部キーが表示されますが、エラーに記載されているものをチェックしても何も返されません。それは見るのに適切な場所ですか?

4

1 に答える 1

2

sys.all_objects ビューを見てください。クエリが簡単です。

select 
     sa.name as FKName
    ,so.name as TableName
from
    sys.all_objects sa
        inner join sys.objects so on sa.parent_object_id = so.[object_id]
where
    sa.[type] = 'F'
于 2013-07-02T10:20:11.970 に答える