第2章 文件格式及命名
2.1 文件格式
规则:数据库脚本文件的文件格式必须为纯文本,不允许使用包含格式文本的文件格式。
2.2 文件命名
规则:每个数据库脚本文件命名请参照下列描述:
1.表:TableName.tab 2.函数:FunctionName.fnc 3.存储过程:ProcedureName.prc 4.包规范:PackageName.spc 5.包体:PackageName.bdy
2013-03-28 第6页,共71页
第3章 书写规范
3.1 大小写风格
规则:数据库脚本中涉及到的各种保留字、关键字、操作符、数据类型、标识符、对象、字段、变量、常量等的大小写风格必须遵循以下规范:
表1
文字类型 ORACLE保留字(Reserved Word) 大小写规范表 大小写 大写 示例 IDENTIFIED、INITIAL、LONG、MAXEXTENTS、RENAME、ROWNUM、SYSDATE、VARCHAR2 ANALYZE、AUTOEXTEND、COMPILE、DBA、EXTENT、INSTANCE、MAXTRANS、SAVEPOINT、TABLESPACE ADD、BETWEEN、CREATE、DISTINCT、DROP、FROM、SESSION、SELECT、TABLE、UPDATE、VARCHAR BEGIN、COMMIT、CONSTRAINT、COUNT、CURSOR、DECLARE、EXECUTE、PRIMARY、SUM、TRANSACTION ARRAY、BOOLEAN、DATABASE、DO、EXIT、RAISE、SAVEPOINT、RUN、WHILE、XOR ALL、AND、ANY、ESCAPE、EXISTS、OR、UNION INT、NUMBER、DATE USER$、DBA_JOBS、DECODE、SUBSTR、DBMS_OUTPUT、PUT_LINE、NO_DATA_FOUND
第7页,共71页
ORACLE关键字(Keywords) 大写 ANSI SQL保留字(Reserved Word) 大写 ANSI SQL关键字(Keywords) 大写 PL/SQL保留字(Reserved Word) 大写 操作符(Operators) 大写 数据类型(Data Types) 系统数据库对象(System Tables、Views、Functions、Packages、Package Methods、Exceptions) 2013-03-28
大写 大写
自定义数据库对象(User Objects) 逻辑首字母大写 T_Table_Name、F_Function_Name、P_Procedure_Name User_Name、Acct_Item_ID c_BeginDate、c_EndDate v_BeginDate、v_FaxNumber、v_StaffAuth 字段名(Field) 常量(Constants) 变量(Variable) 逻辑首字母大写 逻辑首字母大写 逻辑首字母大写 说明:
? ORACLE的关键字和保留字请参见视图V$RESERVED_WORDS;
? 上表中需要大写的关键字/保留字,可以录入UltraEdit的wordfile.txt,在使用
UltraEdit开发时输入这些关键字保留字后会自动变为大写。
3.2 缩进风格
规则:脚本代码块采用缩进风格书写,保证代码清晰易读,风格一致。缩进格数统一为4个空格,但需要关键字右对齐或者参数/字段向上对齐的时候例外。 示例1:
CREATE SEQUENCE SQ_CSP_TABLENAME MINVALUE 1 START WITH 1 INCREMENT BY 1;
示例2:
IF c_CursorName%ISOPEN THEN CLOSE c_CursorName; END IF;
规则:缩进必须使用空格键,不允许使用TAB键。
规则:同一条语句占用多于一行时,每行的第一个关键字应当右对齐,但INSERT...SELECT语句例外。 示例1:
FETCH c_Cursor
INTO v_Field1, v_Field2, ... 2013-03-28
第8页,共71页
↑ 关键字右对齐
示例2:
SELECT FIELD1, FIELD2, ... FROM T_CSP_TABLENAME WHERE FIELD1 > 1
AND (FIELD2 < SYSDATE OR FIELD2 > SYSDATE + 3) AND FIELD3 LIKE 'HUAWEI%' GROUP BY FIELD1, FIELD2 ORDER BY FIELD1, FIELD2; ↑ 关键字右对齐
规则:在INSERT...SELECT语句中,如果需要换行时,应使INSERT INTO部分的字段与SELECT部分的字段一一对应,以增强可读性。 示例:
错误的写法:
BEGIN
INSERT INTO T_DEST_TABLENAME (DESTFIELDNAME1, DESTFIELDNAME2, DESTFIELDNAME3, DESTFIELDNAME4, DESTFIELDNAME5, DESTFIELDNAME6, DESTFIELDNAME7)
SELECT SRCFIELDNAME1, SRCFIELDNAME2, SRCFIELDNAME3, SRCFIELDNAME4, SRCFIELDNAME5, SRCFIELDNAME6, SRCFIELDNAME7 FROM T_SRC_TABLENAME; END;
正确的写法A:
BEGIN
INSERT INTO T_DEST_TABLE_NAME (DESTFIELDNAME1, DESTFIELDNAME2, DESTFIELDNAME3, DESTFIELDNAME4, DESTFIELDNAME5, DESTFIELDNAME6, DESTFIELDNAME7) SELECT SRCFIELDNAME1, SRCFIELDNAME2,
SRCFIELDNAME3, SRCFIELDNAME4, SRCFIELDNAME5, SRCFIELDNAME6, SRCFIELDNAME7 FROM T_SRC_TABLE_NAME; END;
正确的写法B:
BEGIN
INSERT INTO T_DEST_TABLE_NAME (DESTFIELDNAME1, -- 注释 2013-03-28
第9页,共71页
DESTFIELDNAME2, -- 注释 DESTFIELDNAME3, -- 注释 DESTFIELDNAME4, -- 注释 DESTFIELDNAME5, -- 注释 DESTFIELDNAME6, -- 注释 DESTFIELDNAME7) -- 注释 SELECT SRCFIELDNAME1, -- 注释 SRCFIELDNAME2, -- 注释 SRCFIELDNAME3, -- 注释 SRCFIELDNAME4, -- 注释 SRCFIELDNAME5, -- 注释 SRCFIELDNAME6, -- 注释 SRCFIELDNAME7 -- 注释 FROM T_SRC_TABLE_NAME; END;
正确的写法C:
BEGIN
INSERT INTO T_DEST_TABLE_NAME ( DESTFIELDNAME1, -- 注释 DESTFIELDNAME2, -- 注释 DESTFIELDNAME3, -- 注释 DESTFIELDNAME4, -- 注释 DESTFIELDNAME5, -- 注释 DESTFIELDNAME6, -- 注释 DESTFIELDNAME7) -- 注释 SELECT SRCFIELDNAME1, -- 注释 SRCFIELDNAME2, -- 注释 SRCFIELDNAME3, -- 注释 SRCFIELDNAME4, -- 注释 SRCFIELDNAME5, -- 注释 SRCFIELDNAME6, -- 注释 SRCFIELDNAME7 -- 注释 FROM T_SRC_TABLE_NAME; END;
正确的写法D:
BEGIN
INSERT INTO T_DEST_TABLE_NAME ( DESTFIELDNAME1, -- 注释 DESTFIELDNAME2, -- 注释 DESTFIELDNAME3, -- 注释 DESTFIELDNAME4, -- 注释 2013-03-28
第10页,共71页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库ORACLE编程规范(2)在线全文阅读。
相关推荐: