Customers と Records という 2 つのテーブルを作成しました。レコードには、customerID に対する外部キー制約があります。既に存在する顧客にレコードを挿入しようとすると、次のエラーが表示されます。
Message (The INSERT statement conflicted with the FOREIGN KEY constraint "FK_REC_cstmr_int_id". The conflict occurred in database "Omitted", table "dbo.CST_NEW_CUSTOMER", column 'cstmr_int_id'.)
挿入コードは次のとおりです。
INSERT INTO [Omitted].[dbo].[REC_NEW_RECORDS]
([cstmr_int_id]
,[xml_tx]
VALUES
(10
,'<test>test</test>'
GO
ここで見つけた関連する質問のほとんどは、間違った順序で挿入することについて話しましたが、ID 10 の顧客を選択できます。
編集1:これは1人の顧客を返します
SELECT [cstmr_int_id]
FROM [Omitted].[dbo].[CST_NEW_CUSTOMER] WHERE cstmr_int_id =10
編集 2: レコード テーブルの作成スクリプトは次のとおりです。
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[REC_NEW_RECORDS](
[rec_int_id] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[cstmr_int_id] [int] NOT NULL,
[xml_tx] [varchar](max) NULL,
CONSTRAINT [REC_PK_rec_int_id] PRIMARY KEY CLUSTERED
(
[rec_int_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[REC_NEW_RECORDS] WITH CHECK ADD CONSTRAINT [FK_REC_cstmr_int_id] FOREIGN KEY([cstmr_int_id])
REFERENCES [dbo].[CST_NEW_CUSTOMER] ([cstmr_int_id])
GO