У меня есть таблица плана, которая имеет отношение один ко многим с таблицей цен.
(1 план может иметь много цен)
Однако проблема в том, что у меня есть другая таблица под названием «Стандартные цены», в которой хранятся имена всех цен (причина в том, что я хочу иметь возможность добавлять или удалять цены в любое время)
Plan Table:
ID int primary key,
plan Name varchar(200),
...
PriceTable:
ID int primary key,
PlanId int foreign key references plan(ID)
PriceName ID foreign key standardprices(id)
StandardPrices:
ID int primary key,
PriceName varchar(200),
DefaultPrice money
Таким образом, всякий раз, когда создается план, он автоматически создает список всех цен в списке StandardPrice (со значениями по умолчанию).
Проблема, с которой я столкнулся, заключается в том, что мне нужно, когда бы я ни создавал новую StandardPrice, он автоматически проверяет, существует ли эта цена в каждом плане, и, если это не так, создает запись в таблице цен для этого плана.
Я использую хранимые процедуры и думал, что лучший способ сделать это - через SQL.
Когда создаются стандартные цены:
begin
insert into StandardPrices (PriceName, Defaultprice)
values (@priceName, @DefaultPrice)
end
begin
//list all plans.
//cross reference PriceTable to see if plan exists
//if not insert priceplan with default value
end
Я немного запутался, как я могу реализовать такую команду sql?