欢迎来到天天文库
浏览记录
ID:16748525
大小:22.86 KB
页数:6页
时间:2018-08-24
《oracle下sql编程规范》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1.视图使用规范1.1视图的命名规则1、视图名用V_开头,视图名长度不能超过30个字符。视图名用大写的英文单词来表示。2、视图由几个表产生就用下划线(_)连接几个表的名,如果表过多可以将表名适当简化,但一定要列出所有表名。1.2必须在视图中指定每列名称的情形1、视图中有任何从算术表达式、内置函数或常量派生出的列。2、视图中两列或多列具有相同名称(通常由于视图定义包含联接,而来自两个或多个不同表的列具有相同的名称)。3、希望使视图中的列名与它的源列名不同。(也可以在视图中重命名列。)无论重命名与否,视图列都会继承其源列的数据类
2、型。1.3其他1、不能将AFTER触发器与视图相关联,只有INSTEADOF触发器可以与之相关联。2、定义视图的查询不可以包含ORDERBY、COMPUTE或COMPUTEBY子句或INTO关键字,否则会占用大量时间。3、不能在视图上定义全文索引定义。4、不能创建临时视图,也不能在临时表上创建视图。5、不能除去参与到用SCHEMABINDING子句创建的视图中的表或视图,除非该视图已被除去或更改而不再具有架构绑定。另外,如果参与具有架构绑定的视图的表执行ALTERTABLE语句影响视图定义,则这些语句将失败。6、不能对视图执
3、行全文查询,但是如果查询所引用的表被配置为支持全文索引,就可以在视图定义中包含全文查询。7、一般不建议试图套视图的建法,一个是逻辑太复杂,第二是如果底层视图发生问题,那级联的所有视图都有问题。8、对多个表关联的查询建立视图,注意表间关键的字段以及条件字段是否用到索引。因为20currencydeposit,weprescribeapassonaregularbasis,qilucardaccountonaregularbasis),certificatebondsandsavingsbonds(electronic);3.n
4、otdrawnonabanksavingscertificate,certificatebondsapplyformortgageloans,acceptingonlythelender视图其实就是SQL,只不过封装了下,建立一个多表关联而又没有合理使用索引的视图,效率是很低的。1.触发器使用规范2.1触发器命名规范1、触发器名用Tr_开头,触发器名长度不能超过30个字符。必须缩写表名,以便附加触发器属性信息。触发器名用小写的英文单词来表示。2、2.2触发器使用规范1、触发器的使用,应该放在关键的,多方发起的,高频访问的数据
5、表上。过多使用触发器,会增加数据库负担,降低数据库性能。2、一个数据表可以有多个触发器,但是一个触发器只能对应一个表。3、TruncateTable语句虽然类似于Delete语句可以删除记录,但是它不能激活Delete类型的触发器。因为TruncateTable语句是不记入日志的。4、WRITETEXT语句不能触发Insert和Update型的触发器。5、不同的SQL语句,可以触发同一个触发器,如Insert和Update语句都可以激活同一个触发器2.3触发器编写规范1、触发器代码的大小不能超过32K。如果确实需要使用大量代
6、码建立触发器,应该首先建立存储过程,然后在触发器中使用call语句调用存储过程2、触发器只能包SELECT,INSERT,UPDATE,DELET语句,而不能包含DDL语句(CREATE,ALTER,DROP)和事务控制性语句(COMMIT,ROLLBACK和SAVEPOINT),也禁止直接或间接地调用含有上属于据的存储过程。20currencydeposit,weprescribeapassonaregularbasis,qilucardaccountonaregularbasis),certificatebondsand
7、savingsbonds(electronic);3.notdrawnonabanksavingscertificate,certificatebondsapplyformortgageloans,acceptingonlythelender1、触发器不接受参数,一个表最多可有12个触发器(触发器类型刚好是12种),并且保证触发器操作不冲突,同一时间,同一事件,同一类型的触发器只能有一个。2、建议不要让触发器返回任何结果。因为对这些返回结果的特殊处理必须写入每个允许对触发器表进行修改的应用程序中。为了阻止从触发器返回任何结果
8、,不要在触发器内定义包含SELECT语句或变量赋值。如果必须在触发器中进行变量赋值,则应该在触发器的开头使用SETNOCOUNTON语句以避免返回任何结果集。3、在DML触发器中不能使用的语句不能使用的语句语句功能AlterDatabase修改数据库CreateDatabase新建数据库D
此文档下载收益归作者所有