Вставить строки в связанные таблицы 1: 1 - PullRequest
0 голосов
/ 22 января 2019

Я хочу поместить новые строки в таблицы, связанные 1: 1 в sql-server. diagram of those tables

Как видите, таблицы ссылаются друг на друга с одним и тем же первичным ключом. И вот в чем проблема - я знаю, что помещение данных с двумя INSERT вызовами вызовет у меня ошибку, говорящую о нарушении ограничения PK. Есть ли способ сделать это в коде? Я хочу создать хранимую процедуру, используемую для добавления «первичных продуктов» (SUROWCE) и соответствующей ей записи в «акции» (STAN).

Моя попытка кода: INSERT INTO STAN VALUES(25, 5, 1000); INSERT INTO SUROWCE VALUES(25, 'wood');

Msg 547, Level 16, State 0, Line 4 The INSERT statement conflicted with the FOREIGN KEY constraint "FK_STAN_SUROWCE". The conflict occurred in database "TestBazyDanych", table "dbo.SUROWCE", column 'ID_SUROWCA'.

1 Ответ

0 голосов
/ 22 января 2019

В отношении 1: 1 только одна таблица имеет внешний ключ, ссылающийся на другую.Таким образом, вы сначала вставляете в таблицу без внешнего ключа.Попробуйте просто изменить порядок вставок:

INSERT INTO SUROWCE VALUES(25, 'wood');
INSERT INTO STAN VALUES(25, 5, 1000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...