创建外键时可以指定级联删除选项,设置后主表数据被删除,从表数据也会被删除,反之则不然。
参考:>
你的要求是完全可以实现的,可能在建立时方法或者语法有点小问题,请确认下。
如下是我在SQL Server 2005安照你的要求建立数据表时用到的语法:
---------------------------------------------------------------
/创建商店/
CREATE TABLE [dbo][Store](
[Id] [char](10) NOT NULL, --编号
[Address] [nvarchar](100) NULL, --地址
CONSTRAINT [PK_Store] PRIMARY KEY CLUSTERED
(
[Id] ASC --建立主键
)
) ON [PRIMARY]
GO
/创建员工/
CREATE TABLE [dbo][Employee](
[Id] [char](10) NOT NULL, --编号
[RecId] [char](10) NULL, --推荐人编号
[Store] [char](10) NULL, --商店编号
[RelStore] [char](10) NULL,--关联商店编号
CONSTRAINT [PK_Employee] PRIMARY KEY CLUSTERED
(
[Id] ASC --建立主键
)
) ON [PRIMARY]
GO
/推荐ID和员工ID建立外键约束/
ALTER TABLE [dbo][Employee] WITH CHECK ADD CONSTRAINT [FK_Employee_Employee] FOREIGN KEY([RecId])
REFERENCES [dbo][Employee] ([Id])
GO
ALTER TABLE [dbo][Employee] CHECK CONSTRAINT [FK_Employee_Employee]
GO
/员工商店ID和商店ID建立外键约束/
ALTER TABLE [dbo][Employee] WITH CHECK ADD CONSTRAINT [FK_Employee_Store] FOREIGN KEY([Store])
REFERENCES [dbo][Store] ([Id])
GO
ALTER TABLE [dbo][Employee] CHECK CONSTRAINT [FK_Employee_Store]
GO
/员工关联店和商店ID建立外键约束/
ALTER TABLE [dbo][Employee] WITH CHECK ADD CONSTRAINT [FK_Employee_Store1] FOREIGN KEY([RelStore])
REFERENCES [dbo][Store] ([Id])
GO
ALTER TABLE [dbo][Employee] CHECK CONSTRAINT [FK_Employee_Store1]
GO
---------------------------------------------------------------
通过这段SQl 脚本是可以正常建立你所要求的数据表
应该是可以在sql
server2000的企业管理器里面直接 *** 作添加外键的。
应该在一个表的设计界面,选中一行,点鼠标右键,选关系,然后选外键。
好久没有用2000了,呵`~不是很记得,lz多试两下就出来了`~
alter
table
表名
add
constraint
外键名称
foreign
key
(外键)
references[主键表名](引用列),
以上就是关于SQL数据库外键全部的内容,包括:SQL数据库外键、大家设计数据库时使用外键吗、关于数据库表的主键外键问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)