最初のクエリでは、テーブルが参照するテーブルの一覧が表示され、2番目のテーブルではテーブルを参照するテーブルの一覧が表示されます。これは、参照整合性がテーブル間に設定されている場合にのみ機能します。
DECLARE @TableName VARCHAR(MAX) = 'myTable',
@SchemaName VARCHAR(MAX) = 'dbo'
SELECT DISTINCT
s.name AS SchemaName,
o2.name AS TableName
FROM sys.foreign_keys fk
JOIN sys.objects o
ON fk.parent_object_id = o.object_id
JOIN sys.schemas s
ON o.schema_id = s.schema_id
JOIN sys.objects o2
ON fk.referenced_object_id = o2.object_id
JOIN sys.schemas s2
ON o2.schema_id = s2.schema_id
WHERE o.name = @TableName
AND s.name = @SchemaName
ORDER BY SchemaName,
TableName
SELECT DISTINCT
s.name SchemaName,
o.name TableName
FROM sys.foreign_keys fk
JOIN sys.objects o
ON fk.parent_object_id = o.object_id
JOIN sys.schemas s
ON o.schema_id = s.schema_id
JOIN sys.objects o2
ON fk.referenced_object_id = o2.object_id
JOIN sys.schemas s2
ON o2.schema_id = s2.schema_id
WHERE o2.name = @TableName
AND s2.name = @SchemaName
ORDER BY SchemaName,
TableName
依存関係ではなく、クエリに何が問題であるかを解説します。依存関係に誤りがある場合は、とにかく行を挿入できない可能性があります。 – DavidG
@DavidGもちろん、RIがdbに正しく設定されていない限り、その場合、すべてのテーブルをトロールして把握してみることができます。 –
最初のステップとして、SQL Query Designer内からINSERTを実行しています...挿入されたレコードをWebサイトに正しく表示されたものと比較し、唯一の違いはIDフィールドです。 。私はそのPOSTIDを含む他のテーブルを見つけることはできません。 –