WEB开发网
开发学院数据库MSSQL Server MS SQL基础教程:创建和使用约束 阅读

MS SQL基础教程:创建和使用约束

 2007-12-25 15:26:14 来源:WEB开发网   
核心提示:定义外关键字约束的语法如下:CONSTRAINT constraint_nameFOREIGN KEY (column_name1[, column_name2,…,column_name16])REFERENCES ref_table [ (ref_column1[,ref_column2,&helli

定义外关键字约束的语法如下:

CONSTRAINT constraint_name

FOREIGN KEY (column_name1[, column_name2,…,column_name16])

REFERENCES ref_table [ (ref_column1[,ref_column2,…, ref_column16] )]

[ ON DELETE { CASCADE | NO ACTION } ]

[ ON UPDATE { CASCADE | NO ACTION } ] ]

[ NOT FOR REPLICATION ]

各参数说明如下:

REFERENCES

指定要建立关联的表的信息。 ref_table

指定要建立关联的表的名称。 ref_column

指定要建立关联的表中的相关列的名称。 ON DELETE {CASCADE | NO ACTION}

指定在删除表中数据时,对关联表所做的相关操作。在子表中有数据行与父表中的对应数据行相关联的情况下,如果指定了值CASCADE,则在删除父表数据行时会将子表中对应的数据行删除;如果指定的是NO ACTION,则SQL Server 会产生一个错误,并将父表中的删除操作回滚。NO ACTION 是缺省值。 ON UPDATE {CASCADE | NO ACTION}

指定在更新表中数据时,对关联表所做的相关操作。在子表中有数据行与父表中的对应数据行相关联的情况下,如果指定了值CASCADE,则在更新父表数据行时会将子表中对应的数据行更新;如果指定的是NO ACTION,则SQL Server 会产生一个错误,并将父表中的更新操作回滚。NO ACTION 是缺省值。 NOT FOR REPLICATION

指定列的外关键字约束在把从其它表中复制的数据插入到表中时不发生作用。

例7-4:创建一个订货表,与前面创建的产品表相关联

create table orders(

order_id char(8),

p_id char(8),

p_name char(10) ,

constraint pk_order_id primary key (order_id) ,

上一页  1 2 3 4  下一页

Tags:MS SQL 基础

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接