快速业务通道

SQL大全[2]

作者 佚名技术 来源 数据库编程 浏览 发布时间 2012-03-22
允许用户禁止为行或者表生成 OID. 这么做对大表是值得的,因为这样可以减少 OID 消耗并且推迟 32 位 OID 计数器的消耗.一旦该计数器重叠,那么就不能再假设 OID 的唯一,这样它的实用性就大打折扣.
CONSTRAINT constraint_name
列或表约束的可选名字.如果没有声明,则由系统生成一个名字.
NOT NULL
字段不允许包含 NULL 数值.等效于列约束 CHECK (column NOT NULL).
NULL
该字段允许包含 NULL 数值.这是缺省.
这个子句的存在只是为和那些非标准 SQL 数据库兼容. 我们不建议在新应用中使用它.
UNIQUE (column constraint)
UNIQUE ( column_name [, ... ] ) (table constraint)
UNIQUE 声明一个规则,该规则表示一个表里的一个或者多个独立的字段组合的分组只能包含唯一的数值.表的唯一约束 的行为和列约束的一样,只不过多了跨多行的能力.
对于唯一约束的用途而言,系统认为 NULL 数值是不相等的.
每个唯一表约束都必须命名一个字段的集合,该集合必须和其它唯一 约束命名字段集合或者该表定义的主键约束不同.(否则就只是同样的 约束写了两次.)
PRIMARY KEY (column constraint)
PRIMARY KEY ( column_name [, ... ] ) (table constraint)
主键约束表明表中的一个或者一些字段只能包含唯一(不重复)非 NULL 的数值. 从技术上讲,PRIMARY KEY 只是 UNIQUE 和 NOT NULL 的组合,不过把一套字段标识为主键同时也体现了大纲设计的元数据,因为主键意味着其它表可以拿这套字段 用做行的唯一标识.
一个表只能声明一个主键,不管是作为字段约束还是表约束.
主键约束应该定义在同个表上的一个与其它唯一约束所定义的不同的字段集合上.
CHECK (expression)
CHECK 约束声明一个完整性约束或者测试,一次插入或者更新操作若想成功则必须满足这个条件. 每个约束都必须是一个生成布尔结果的表达式.一个在字段定义中出现的
目前,CHECK 表达式不能包含子查询或者 引用除本行字段之外的变量.
REFERENCES reftable [ ( refcolumn ) ] [ MATCH matchtype ] [ ON DELETE action ] [ ON UPDATE action ] (column constraint)
FOREIGN KEY ( column [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ] [ MATCH matchtype ] [ ON DELETE action ] [ ON UPDATE action ] (table constraint)
REFERENCES 列约束声明一个由新表中一列或者多列组成的组应该只包含匹配引用的表 reftable 中对应引用的字段 refcolumn 中的数值. 如果省略 refcolumn, 则使用 reftable 的主键.被引用字段必须是被引用表中的唯一字段或者主键.
向这些字段增加的数值将使用给出的匹配类型与参考表中的参考列中的数值进行匹配.有三种匹配类型∶MATCH FULL, MATCH PARTIAL,和一种缺省匹配类型(如果没有声明匹配类型的话).MATCH FULL 将不允许一个多字段外键的 字段为 NULL,除非所有外键字段都为 NULL.缺省匹配类型允许某些外键字段为 NULL 而外键的其它部分不是 NULL.MATCH PARTIAL 还没实现.
另外,当被参考字段中的数据改变的时候,那么将对本表的字段中的数据 执行某种操作.ON DELETE 子句声明当被参考表中的 被参考行将被删除的时候要执行的操作.类似,ON UPDATE 子句声明被参考表中被参考字段更新为新值的时候要执行的动作.如果该行被更新,但被参考的字段实际上没有变化,那么就不会有任何动作.下面是每个子句的可能的动作∶
NO ACTION
生成一个错误,表明删除或者更新将产生一个违反外键约束的动作. 它是缺省动作.
RESTRICT
和 NO ACTION 一样.
CASCADE
删除任何引用了被删除行的行,或者分别把引用行的字段值更新为 被参考字段的新数值.
SET NULL
把引用行数值设置为 NULL.
SET DEFA

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号