Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Вопрос по SQL Server 2000 и foreign key

16.01.07 16:06
Re: Вопрос по SQL Server 2000 и foreign key
 
krys посетитель
--
-- Structure for table Function :
--
CREATE TABLE [dbo].[Function] (
[FunctionID] nvarchar(50) COLLATE Latin1_General_CI_AS NOT NULL,
[Function] nvarchar(255) COLLATE Latin1_General_CI_AS,
[Check] nvarchar(50) COLLATE Latin1_General_CI_AS
)
ON [PRIMARY]
GO
--
-- Structure for table FunctionProp :
--
CREATE TABLE [dbo].[FunctionProp] (
[Id] int IDENTITY(1, 1) NOT NULL,
[FunctionId] nvarchar(50) COLLATE Latin1_General_CI_AS,
[Label] nvarchar(255) COLLATE Latin1_General_CI_AS,
[Property] nvarchar(80) COLLATE Latin1_General_CI_AS,
[Value] nvarchar(255) COLLATE Latin1_General_CI_AS,
[SortKey] nvarchar(50) COLLATE Latin1_General_CI_AS,
)
ON [PRIMARY]
GO
ALTER TABLE [dbo].[FunctionProp]
ADD CONSTRAINT [FK_FunctionProp_Function] FOREIGN KEY ([FunctionId])
REFERENCES [dbo].[Function] ([FunctionID])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
-- Structure for table FunctionGroup :
--
CREATE TABLE [dbo].[FunctionGroup] (
[FunctionGroupID] nvarchar(50) COLLATE Latin1_General_CI_AS NOT NULL,
[FunctionGroup] nvarchar(50) COLLATE Latin1_General_CI_AS,
[Facility] nvarchar(50) COLLATE Latin1_General_CI_AS,
[FileName] nvarchar(255) COLLATE Latin1_General_CI_AS,
[Check] nvarchar(50) COLLATE Latin1_General_CI_AS
)
ON [PRIMARY]
GO
ON [PRIMARY]
GO
ALTER TABLE [dbo].[Function]
ADD CONSTRAINT [PK_Function]
PRIMARY KEY CLUSTERED ([FunctionID])
ON [PRIMARY]
GO
ALTER TABLE [dbo].[FunctionGroup]
ADD CONSTRAINT [PK_FunctionGroup]
PRIMARY KEY CLUSTERED ([FunctionGroupID])
ON [PRIMARY]
GO
ALTER TABLE [dbo].[FunctionProp]
ADD CONSTRAINT [PK_FunctionProp]
PRIMARY KEY CLUSTERED ([Id])
ON [PRIMARY]
GO
надеюсь что из кода видно, что существует связь между таблицей Function и FunctionProp.
Если я аналогично через Foreign Key свяжу FunctionGroup.FunctionGroupID и FunctinProp.FunctionID (и в том и в другом случае ето уникальный ключ) то при попытке внести новое значение в FunctionProp vозникает ошибка, поскольку если ID существует в таблице Function оно не существует в FunctionGroup и наоборот.
стойте там и слушайте сюда, именно отсюда будет проистекать
 

Перейти на