下SQL编程规范.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
下SQL编程规范

视图使用规范 1.1 视图的命名规则 视图名用V_开头,视图名长度不能超过30个字符。视图名用大写的英文单词来表示。 视图由几个表产生就用下划线(_)连接几个表的名,如果表过多可以将表名适当简化,但一定要列出所有表名。 1.2 必须在视图中指定每列名称的情形 视图中有任何从算术表达式、内置函数或常量派生出的列。 视图中两列或多列具有相同名称(通常由于视图定义包含联接,而来自两个或多个不同表的列具有相同的名称)。 希望使视图中的列名与它的源列名不同。(也可以在视图中重命名列。)无论重命名与否,视图列都会继承其源列的数据类型。 1.3 其他 不能将AFTER触发器与视图相关联,只有INSTEAD OF触发器可以与之相关联。 定义视图的查询不可以包含ORDER BY、COMPUTE或COMPUTE BY子句或INTO关键字,否则会占用大量时间。 不能在视图上定义全文索引定义。 不能创建临时视图,也不能在临时表上创建视图。 不能除去参与到用SCHEMABINDING子句创建的视图中的表或视图,除非该视图已被除去或更改而不再具有架构绑定。另外,如果参与具有架构绑定的视图的表执行ALTER TABLE语句影响视图定义,则这些语句将失败。 不能对视图执行全文查询,但是如果查询所引用的表被配置为支持全文索引,就可以在视图定义中包含全文查询。 一般不建议试图套视图的建法,一个是逻辑太复杂,第二是如果底层视图发生问题,那级联的所有视图都有问题。 对多个表关联的查询建立视图,注意表间关键的字段以及条件字段是否用到索引。因为视图其实就是SQL,只不过封装了下,建立一个多表关联而又没有合理使用索引的视图,效率是很低的。 触发器使用规范 2.1 触发器命名规范 触发器名用Tr_开头,触发器名长度不能超过30个字符。必须缩写表名,以便附加触发器属性信息。触发器名用小写的英文单词来表示。 2.2 触发器使用规范 触发器的使用,应该放在关键的,多方发起的,高频访问的数据表上。过多使用触发器,会增加数据库负担,降低数据库性能。 一个数据表可以有多个触发器,但是一个触发器只能对应一个表。 Truncate Table语句虽然类似于Delete语句可以删除记录,但是它不能激活Delete类型的触发器。因为Truncate Table语句是不记入日志的。 WRITETEXT语句不能触发Insert和Update型的触发器。 不同的SQL语句,可以触发同一个触发器,如Insert和Update语句都可以激活同一个触发器 触发器编写规范 触发器代码的大小不能超过32K。如果确实需要使用大量代码建立触发器,应该首先建立存储过程,然后在触发器中使用call语句调用存储过程 触发器只能包SELECT,INSERT,UPDATE,DELET语句,而不能包含DDL语句(CREATE,ALTER,DROP)和事务控制性语句(COMMIT,ROLLBACK和SAVEPOINT),也禁止直接或间接地调用含有上属于据的存储过程。 触发器不接受参数,一个表最多可有12个触发器(触发器类型刚好是12种),并且保证触发器操作不冲突,同一时间,同一事件,同一类型的触发器只能有一个。 建议不要让触发器返回任何结果。因为对这些返回结果的特殊处理必须写入每个允许对触发器表进行修改的应用程序中。为了阻止从触发器返回任何结果,不要在触发器内定义包含SELECT语句或变量赋值。如果必须在触发器中进行变量赋值,则应该在触发器的开头使用SET NOCOUNT ON语句以避免返回任何结果集。 在DML触发器中不能使用的语句 不能使用的语句 语句功能 Alter Database 修改数据库 Create Database 新建数据库 Drop Database 删除数据库 Load Database 导入数据库 Load Log 导入日志 Reconfigure 更新配置选项 Restore Database 还原数据库 Restore Log 还原数据库日志 2.4 建立INSTEAD OF触发器规范 不能在带有WITH CHECK OPTION定义的视图中创建INSTEAD OF触发器。 INSTEAD OF选项只适用于视图。 当基于视图建立触发器时,不能指定before和after选项。 在同一个数据表中,对每个操作(如Insert、Update、Delete)而言可以建立许多个After触发器,但Instead Of触发器针对每个操作只有建立一个。 当建立INSTEAD OF触发器时,必须指定for each row选项。

文档评论(0)

jjkk585 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档