快速业务通道

SQL大全[2]

作者 佚名技术 来源 数据库编程 浏览 发布时间 2012-03-22
    did     DECIMAL(3),
    name    VARCHAR(40) UNIQUE
);
上面的和下面这样作为一个表约束声明是一样的∶
CREATE TABLE distributors (
    did     DECIMAL(3),
    name    VARCHAR(40),
    UNIQUE(name)
);
兼容性 SQL92
CREATE TABLE遵循 和 SQL99 的一个子集 的中间状态,一些例外情况在下面和上面的诊断中列出.
临时表
除了局部临时表之外, 还定义了 CREATE GLOBAL TEMPORARY TABLE 语句. 全局临时表也可以在其它会话中可见.
对于临时表,有一个可选的 ON COMMIT 子句∶
CREATE { GLOBAL | LOCAL } TEMPORARY TABLE table ( ... ) [ ON COMMIT {
DELETE | PRESERVE } ROWS ]
ON COMMIT 子句表明该临时表在执行 COMMIT 的时候是否应该清空行. 如果省略了 ON OMMIT 子句, 声明缺省是 ON COMMIT DELETE ROWS.不过, PostgreSQL 的行为总是类似 ON COMMIT PRESERVE ROWS.
NULL "约束"
NULL "约束"(实际上不是约束) 是 PostgreSQL 对 的扩展,包括它是为了和其它一些 RDBMS 兼容(以及为了和 NOT NULL 约束对称).因为它是任何字段的缺省,所以它的出现只是噪音而已.
断言
断言是一种特殊类型的完整性约束,它和其它约束共享相同的名字空间. 不过,断言和约束不同的是,它不一定依赖于某个特定的表,因此 提供了 CREATE ASSERTION 语句作为定义 约束的一个可选的方法∶
CREATE ASSERTION name CHECK ( condition )
PostgreSQL 目前还没有实现断言.
继承
通过 INHERITS 子句的多重继承是 PostgreSQL 语言的扩展. SQL99(但不包括 )使用不同的语法和语义定义了单继承. SQL99 风格的继承还没有在 PostgreSQL 中实现.
对象 ID
PostgreSQL 的 OID 的概念不是标准.
又见
ALTER TABLE , DROP TABLE

--------------------------------------------------------------------------------

CREATE TRIGGER
Name
CREATE TRIGGER  --  定义一个新的触发器
Synopsis
CREATE TRIGGER name { BEFORE | AFTER } { event [OR ...] }
    ON table FOR EACH { ROW | STATEMENT }
    EXECUTE PROCEDURE func ( arguments )
输入
name
赋予新触发器的名称.
table
现有表名称.
event
INSERT,DELETE 或 UPDATE 之一.
func
一个用户提供的函数.
输出
CREATE
如果触发器成功创建,返回此信息.
描述
CREATE TRIGGER将向现有数据库中增加一个新的触发器. 触发器将与表 table 相联并且将执行声明的函数 func.
触发器可以声明为在对记录进行操作之前 在检查约束之前和 INSERT,UPDATE 或 DELETE 执行前)或之后(在检 查约束之后和完成 INSERT, UPDATE 或 DELETE 操作)触发. 如果触发器在事件之前,触发器可能略过当前记录的操作或改变被插入的(当前)记录(只对 INSERT 和 UPDATE 操作有效). 如果触发器在事件之后,所有更改,包括最后的插入,更新或删除对触发器都是"可见"的.
SELECT并不更改任何行,因此你不能创建 SELECT 触发器.这种场合下规则和视图更合适些.
请参考 PostgreSQL 程序员手册中SPI 和触发器章节获取更多信息.
注意
CREATE TRIGGER是 PostgreSQL 语言扩展.
只有表所有者可以就此表创建一个触发器.
在当前的版本,STATEMENT 触发器还没有实现.
请参考 DROP TRIGGER 获取如何删除触发器的信息.
用法
在插入或更新表 films 之前检查一下声明的分销商代码是

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号