SQL Server外键约束与建立外键约束的方案

数据库 SQL Server
SQL Server外键约束与建立外键约束的比例还是占为多数的,如果你对这一新开发的技术,心存好奇的话此文章将会揭开它的神秘面纱。

我们今天主要向大家介绍的是SQL Server外键约束与SQL Server建立外键约束的3种方案的介绍,我前两天在相关网站看见SQL Server建立外键约束的3种方案的资料,觉得挺好,就拿出来供大家分享。

1.Enterprise Manager中,Tables,Design Table,设置Table的properties,

可以建立constraint, reference key;

2.Enterprise Manager中,Diagrams, new Diagrams,建立两个表的关系。

3.直接用transact sql语句。

三个方法都需要先建立数据表。

创建表author :

  1. CREATE TABLE [dbo].[author] (  
  2. [ID] [bigint] NOT NULL ,  
  3. [AuthorName] [char] (10) NULL ,  
  4. [address] [char] (480) NULL ,  
  5. [introduction] [ntext] NULL   
  6. )  

创建表myBBS:

  1. REATE TABLE [dbo].[myBBS] (  
  2. [ID] [bigint] IDENTITY (1, 1) NOT NULL ,  
  3. [authorId] [bigint] NOT NULL ,  
  4. [Title] [char] (40) NULL ,  
  5. [Date_of_Created] [datetime] NULL ,  
  6. [Abstract] [char] (480) NULL ,  
  7. [Content] [ntext] NULL   
  8. )  

设置表myBBS中的authorId为外键,参照author表的Id字段,直接使用transact sql语句,过程如下:

增加表mybbs(authorId)的SQL Server外键约束FK_mybbs_author,表myBBS中的authorId受表author中的主键ID约束:

  1. BEGIN TRANSACTION  
  2. alter table dbo.mybbs add constraint FK_mybbs_author  
  3. foreign key (authorId)  
  4. references dbo.author([id]) ON UPDATE CASCADE ON DELETE CASCADE 

删除SQL Server建立外键约束FK_mybbs_author:

  1. alter table dbo.mybbs drop constraint FK_mybbs_author  
  2. rollback   
  3. commit transaction 

上面ON UPDATE CASCADE,ON DELETE CASCADE两个选项,指明以后author表的id字段有delete,update操作时,myBBS表中的id也会被级联删除或更新。如果没有选中,是不可以对author表中已被myBBS表关联的id进行update或者delete操作的。

 

原文标题:SQL Server中的外键约束

连接:http://www.cnblogs.com/jasonwbd/articles/1153661.html

【编辑推荐】

  1. 详解SQL Server 2008复制分区清理数据
  2. SQL Server 2008 R2连连看 需要微软平台配合
  3. Oracle数据库索引和SQL Server的阐述
  4. 了解tempdb对SQL Server数据库性能的影响
  5. SQL Server 2005负载均衡部分性能分析

 

责任编辑:佚名 来源: 博客园
相关推荐

2010-11-10 11:37:29

SQL Server删

2010-09-25 13:16:51

SQL Server外

2010-09-25 11:50:47

sql server外

2010-11-12 15:19:06

Sql Server外

2010-09-13 13:44:22

sql server外

2011-03-22 12:59:18

SQLOracle外键约束

2019-11-05 08:20:13

MySQL数据库外键

2010-04-23 15:44:29

Oracle 外键

2010-10-19 17:28:08

SQL SERVER外

2010-01-05 09:24:42

MySQL外键约束

2010-09-13 14:05:09

sql server外

2010-05-11 18:46:46

MYSQL 外键

2010-09-13 13:33:51

sql server外

2018-11-29 14:30:42

数据库外键约束应用程序

2011-07-26 15:47:01

SQL Server数外键约束

2010-09-13 13:58:29

sql server外

2010-09-13 13:25:44

sql server外

2010-06-18 08:30:48

SQL Server

2010-11-12 15:04:30

SQL Server缺

2011-08-03 17:43:53

MySQL数据库外键约束
点赞
收藏

51CTO技术栈公众号