SQL大全[2]
作者 佚名技术
来源 数据库编程
浏览
发布时间 2012-03-22
用法 下面命令定义一个新操作符,面积相等,用于 BOX 数据类型. CREATE OperaTOR === ( LEFTARG = box, RIGHTARG = box, PROCEDURE = area_equal_procedure, COMMUTATOR = ===, NEGATOR = !==, RESTRICT = area_restriction_procedure, JOIN = area_join_procedure, HASHES, SORT1 = <<<, SORT2 = <<< ); 兼容性 SQL92 CREATE OPERATOR是 PostgreSQL 扩展. 在中没有 CREATE OPERATOR 语句. -------------------------------------------------------------------------------- CREATE RULE CREATE RULE Name CREATE RULE -- 定义一个新的重写规则 Synopsis CREATE RULE name AS ON event TO object [ WHERE condition ] DO [ INSTEAD ] action 这里 action 可以是: NOTHING | query | ( query ; query ... ) | [ query ; query ... ] 输入 name 创建的规则名. event 事件是 SELECT, UPDATE,DELETE 或 INSERT 之一. object 对象是 table 或 table.column.(目前只有 table 形式实际上是实现了的. condition 任意 SQL 布尔条件表达式.条件表达式除了引用 new 和 old 之外不能引用任何表. query 组成 action 的查询可以是任何 SQL SELECT,INSERT, UPDATE,DELETE,或 NOTIFY 语句之一. 在 condition 和 action 里,特殊表名字 new 和 old 可以用于指向引用表 ( object) 里的数值 new 在 ON INSERT 和 ON UPDATE 规则里 可以指向被插入或更新的新行. old 在 ON UPDATE,和 ON DELETE 规则里可以指向现存的被更新,或者删除的行. 输出 CREATE 成功创建规则后的返回信息. 描述 PostgreSQL 规则系统 允许我们在从数据库或表中更新, 插入或删除东西时定义一个可选的动作来执行。目前,规则用于实现表视图。 规则的语意是在一个单独的记录正被访问,更新,插入或删除时, 将存在一个旧记录(用于检索,更新和删除)和一个新记录(用于更新和追加).这时给定事件类型和给定目标对象(表)的所有规则都将被检查, (顺序不定). 如果在 WHERE (如果有)子句里面所声明的 condition? 为真,那么 action 部分的规则就被执行. 如果声明了 INSTEAD,那么 action 就会代替原来的查询;否则,如果是 ON INSERT 那么它在原来的查询之后执行,如果是 ON UPDATE 或者 ON DELETE,那么它在原来的查询之前执行.在 condition 和 action 里面, 在旧记录里字段的数值和/或新记录里字段的数值被 old. attribute-name 和 new. attribute-name 代替. 规则的 action 部分可以由一条或者多条查询组成.要写多个查询,用圆括弧或者方括弧 把它们包围起来.这样的查询将以声明的顺序执行(只是我们不能保证对一个对象的多个规则的执行顺序). action 还可以是 NOTHING 表示没有动作.因此,一个 DO INSTEAD NOTHING 规则制止了原来的查询的运行(当条件为真时); DO NOTHING 规则是没有用的. 规则的 action 部分 执行的时候带有和触发动作的用户命令相同的命令和事务标识符. 规则和视图 目前,ON SELECT 规则必须是无条件的 INSTEAD 规则并且 必须有一个由一条 SELECT 查询组成的动作.因此,一条 ON SELECT 规则有效地把对象表转成视图,它的可见内容 是规则的 SELECT 查询返回的记录而不是存储在表中的内容(如果有的话).我们认为写一条 CREATE VIEW 命令比创建一个表然后定义一条 O |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于SQL大全[2]的所有评论