Извините, если этот вопрос слишком стандартный, но я не смог придумать, как это сделать эффективно
У меня есть 3 таблицы Customer
, CustomerProject
и StandardProject
StandardProject
содержит список всех проектов, которые должен иметь каждый клиент в таблице Customer
.
Моя логика заключается в том, что когда новый клиент вставляется в таблицу Customer
, он запускает и вставляет ВСЕ проекты из StandardProject
в CustomerProject
Create Table [Customer]
(
[CID] INTEGER PRIMARY KEY IDENTITY(1,1)
, Customer VARCHAR(50) NOT NULL UNIQUE
)
Create Table [CustomerProject]
(
ProjectID INTEGER PRIMARY KEY IDENTITY(1,1)
, [CID] INTEGER FOREIGN KEY REFERENCES [Customer](CID)
, Project VARCHAR(50) NOT NULL
, CONSTRAINT UN_Customer_Project UNIQUE([CID], Project)
)
Create Table [StandardProject]
(
ProjectID INTEGER PRIMARY KEY IDENTITY(1,1)
, Project VARCHAR(50) NOT NULL UNIQUE
)
INSERT INTO [StandardProject](Project) VALUES('PROJECT 1')
INSERT INTO [StandardProject](Project) VALUES('PROJECT 2')
INSERT INTO [StandardProject](Project) VALUES('PROJECT 3')
Вопрос: Когда я вставляю Customer = 'My Customer'
, возможен ли триггер, который может добавить 'Project 1'
, 'Project 2'
, 'Project 3'
в CustomerProject
таблицу?
В действительности у StandardProject
может быть довольно много проектов, и эти проекты могут меняться по частоте.
CREATE TRIGGER InsertStandardProjects ON [Customer]
FOR INSERT
AS
INSERT INTO [CustomerProject]([CID], [Project])...