У меня есть следующие 3 таблицы. Они связаны:
CREATE TABLE [MemberDetails]
(
[MemberID] int identity (1000,1) NOT NULL UNIQUE,
[MName] varchar(100) NOT NULL,
[MSurname] varchar(100) NOT NULL,
[MPhone] varchar(20) NOT NULL UNIQUE,
[MEmail] varchar(200) NOT NULL UNIQUE,
[MAddress] varchar(250) NOT NULL,
[MActive] char (1) NOT NULL CHECK (MActive IN ('Y','N')) DEFAULT 'Y',
[MUpdateDate] Date NOT NULL DEFAULT GETDATE(),
[MPhoto] Image NOT NULL,
[MDid] int NULL UNIQUE,
[MTid] int NULL UNIQUE,
PRIMARY KEY ([MemberID]),
FOREIGN KEY (MDid) REFERENCES [MembershipDetails] ([MDid])
ON DELETE SET NULL
ON UPDATE CASCADE,
FOREIGN KEY (MTid) REFERENCES [MarketingTarget] ([MTid])
ON DELETE SET NULL
ON UPDATE CASCADE
);
CREATE TABLE [MarketingTarget]
(
[MTid] int identity (5000,1) NOT NULL UNIQUE,
[MDOB] date NOT NULL,
[MSex] char NOT NULL CHECK (MSex IN ('M','F')) DEFAULT 'M',
PRIMARY KEY ([MTid]),
);
CREATE TABLE [MembershipDetails]
(
[MDid] int identity (2000,1) NOT NULL UNIQUE,
[MType] varchar(10) NOT NULL CHECK (MType IN ('Monthly', 'Quaterly', 'Yearly')) DEFAULT 'Monthly',
[JoinDate] Date NOT NULL DEFAULT GETDATE(),
[ExpiryDate] Date NULL,
[MsUpdateDate] Date DEFAULT GETDATE(),
PRIMARY KEY ([MDid])
);
Я хотел бы знать, можно ли автоматически вставить FK в таблицу MemberDetails из двух других таблиц? Я пытаюсь написать хранимые процедуры.
Я проверял Scope_Identity
, который может получить последнее сгенерированное удостоверение, но я не уверен, как его правильно использовать.
Любые предложения были бы очень признательны.