После вставки триггера на таблицу, которая имеет первичный ключ - PullRequest
0 голосов
/ 15 мая 2018

У меня есть следующие 2 таблицы:

  1. Order со следующими столбцами: OrderID как PK, Order Name и т. Д.

  2. Delivery со следующими столбцами: DeliveryID как PK, OrderID, date и т. Д.

Я написал после триггера обновления на Orderтаблица, которая вставляет новую строку в таблицу Delivery и заполняет ее OrderID:

create Trigger CopyOrderID_To_DeliveryTable
on Order
for insert 
as 
begin
    declare @ID int

    select @ID = REQUESTID from inserted  

    insert into Delivery (OrderID) 
    values (@ID)
end

Это должно работать нормально, но проблема в том, что столбец DeliveryID в DeliveryТаблица - это необнуляемый ПК.Поэтому всякий раз, когда я пытаюсь обновить таблицу Order, я получаю сообщение об ошибке, что DeliveryID в таблице Delivery не допускает нулевые значения!

Как избавиться от этого сообщения без изменения DeliveryID столбец?

На снимке экрана показаны свойства столбца DeliveryID:

enter image description here

...