сбивает с толку FK_Items_ToBill - PullRequest
0 голосов
/ 23 октября 2019

У меня есть 4 таблицы:
1-ItemData
2-Clint
3-Items
4-Bill

CREATE TABLE [dbo].[ItemData] (
[Id]             INT        IDENTITY (1, 1) NOT NULL,
[RegesteredItem] INT        NULL,
[IGender]        INT        NOT NULL,
[IDetailing]     TEXT       NULL,
[ITipe]          TEXT       NOT NULL,
[IPrice]         FLOAT (53) NOT NULL,
[IAmount]        INT        DEFAULT ((0)) NULL,
[SaveItem]       BIT        NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
); 

.

CREATE TABLE [dbo].[Client] (
[Id]          INT          IDENTITY (1, 1) NOT NULL,
[CFerstName]  VARCHAR (15) NOT NULL,
[CFamileName] VARCHAR (50) NOT NULL,
[CNumber]     VARCHAR (10) NOT NULL,
[CPotCode]    VARCHAR (7)  NOT NULL,
[CHuisnum]    VARCHAR (20) NOT NULL,
[CStraat]     VARCHAR (40) NULL,
[CCity]       VARCHAR (30) NOT NULL,
[Saver]       BIT          NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);

.

    CREATE TABLE [dbo].[Items] (
    [Id]      INT IDENTITY (1, 1) NOT NULL,
    [GropeNum]   INT  NULL,
    [ItemsID] INT NOT NULL,
    PRIMARY KEY CLUSTERED ([Id]),
    CONSTRAINT [Itemsss] FOREIGN KEY ([ItemsID]) REFERENCES [dbo].[ItemData] ([Id]) 
);

.

CREATE TABLE [dbo].[Bills] (
[Ordernum]  INT        IDENTITY (1, 1) NOT NULL,
Gropitem  INT        NULL,
[BillDate]  DATETIME   NOT NULL,
[ClientID]  INT        NOT NULL,
[PrisNoB]   FLOAT (53) NOT NULL,
[PrisWithB] FLOAT (53) NOT NULL,
[ShippingP] FLOAT (53) NULL,
PRIMARY KEY CLUSTERED ([Ordernum] ASC),
CONSTRAINT [FKClient] FOREIGN KEY ([ClientID]) REFERENCES [dbo].[Client] ([Id])
);

Теперь я хочу сделать FK

CONSTRAINT [BillGrop] FOREIGN KEY (Gropitem) REFERENCES dbo.items ([GropeNum])

Но я не могу, потому что GropeNum не Identity, и я хочу подключитьсяТаблица с 6 пунктами на 1 счет
Для идентификатора счета был FK, но я не могу добавить элемент без создания нового счета!
И я не могу сначала заполнить счет, не добавив в него элементы!
может быть,тот же Клинт хочет стареть, поэтому я не могу добавить его к Клинту.

Что я могу сделать?

...