`
xdw1626
  • 浏览: 174853 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle 保留字

阅读更多
从DB2到Oracle涉及到保留字,把找的资料留下

1、http://z.baidu.com/question/62226184.html

最常见的oracle保留字有这些:
ACCESS ADD ALL ALTER AND ANY AS ASC AUDIT BETWEEN BY CHAR
CHECK CLUSTER COLUMN COMMENT COMPRESS CONNECT CREATE CURRENT
DATE DECIMAL DEFAULT DELETE DESC DISTINCT DROP ELSE EXCLUSIVE
EXISTS FILE FLOAT FOR FROM GRANT GROUP HAVING IDENTIFIED
IMMEDIATE IN INCREMENT INDEX INITIAL INSERT INTEGER INTERSECT
INTO IS LEVEL LIKE LOCK LONG MAXEXTENTS MINUS MLSLABEL MODE
MODIFY NOAUDIT NOCOMPRESS NOT NOWAIT NULL NUMBER OF OFFLINE ON
ONLINE OPTION OR ORDER PCTFREE PRIOR PRIVILEGES PUBLIC RAW
RENAME RESOURCE REVOKE ROW ROWID ROWNUM ROWS SELECT SESSION
SET SHARE SIZE SMALLINT START SUCCESSFUL SYNONYM SYSDATE TABLE
THEN TO TRIGGER UID UNION UNIQUE UPDATE USER VALIDATE VALUES
VARCHAR VARCHAR2 VIEW WHENEVER WHERE WITH
详细信息请查看各个版本的这个视图: v$reserved_words
参考资料:oracle documents

 

全部可以去下面的地方下载
http://download-west.oracle.com/docs/cd/B10501_01/server.920/a90842/gloss.htm#432852

 

2、http://blog.csdn.net/apicescn/archive/2007/04/06/1553913.aspx

    oracle命名规范与保留字介绍!

一、    命名约定 
. 是指数据库、数据库对象如TABLE、SEQUENCE、PROCEDURE、COLUMN等的命名约定; 
. 命名富有意义英文词汇,除个别通用的(见列表),要避免使用缩写),多个单词组成的,中间以下划线分割; 
. 除数据库名称长度为1-8个字符,其余为1-30个字符,Database link名称也不要超过30个字符; 
. 命名只能使用英文字母,数字和下划线; 
. 避免使用Oracle的保留字如level、关键字如type(见列表); 
. 名表之间相关列名尽量同名; 
. 数据库的命名:网上数据库命名为“OLPS”+表示站点(SITE,以下同)的2-4个字符,后台数据库命名为“BOPS”+表示站点的2-4个字符。测试数据库命名为“OLPS|BOPS”+“TEST”, 开发数据库命名为“OLPS|BOPS”+“TEST”,用模式(SCHEMAUSER)的不同来区分不同的站点。 
. INDEX命名:table_name+column_name+index_type(1 byte)+idx,各部分以下划线(_)分割。多单词组成的column name,取前几个单词首字母,加末单词组成column_name。如:sample表member_id上的index: sample_mid_idx   news表title上的unique index:news_titile_uidx; 
. SEQUENCE命名:seq_+table_name; 

二、 注释说明 
. 本注释说明主要用于PL/SQL程序及其它SQL文件,其它可作参考; 
. SQLPLUS接受的注释有三种: 
―― 这儿是注释 
/* 这儿是注释 */ 
REM 这儿是注释 
. 开始注释,类似JAVAK中的开始注释,主要列出文件名,编写日期,版权说明,程序功能以及修改记录: 
REM 
REM $Header: filename, version, created date,auther 
REM 
REM Copyright 
REM 
REM 
FUNCTION 
REM 
function explanation 
REM 
REM NOTES 
REM 
REM MODIFIED (yy
/mm/dd) 
REM who 
when - for what, recently goes first 
. 块注释,如表注释,PROCEDURE注释等,同JAVA: 
/**//* 
* This table is for TrustPass 
* mainly store the information 
* of TrustPass members 
*/
 
. 单行注释,如列注释: 
login_id 
VARCHAR2(32NOT NULL-- 会员标识 

三、 缩进 
低级别语句在高级别语句后的,一般缩进4个空格: 
DECLARE 
v_MemberId 
VARCHAR2(32), 
BEGIN 
SELECT admin_member_id INTO v_MemberId 
FROM company 
WHERE id = 10
DBMS_OUTPUT.PUT_LINE(v_MemberId); 
END

同一语句不同部分的缩进,如果为sub statement,则通常为2个空格,如果与上一句某部分有密切联系的,则缩至与其对齐: 
BEGIN 
FOR v_TmpRec IN 
(
SELECT login_id, 
gmt_created, 
-- here indented as column above 
satus 
FROM member -- sub statement 
WHERE site = 'china' 
AND country='cn' ) 
LOOP 
NULL
END LOOP; 
END

四、 断行 
• 一行最长不能超过80字符 
• 同一语句不同字句之间 
• 逗号以后空格 
• 其他分割符前空格 
SELECT offer_name 
||',' 
||offer_count as offer_category, 
id 
FROM category 
WHERE super_category_id_1 = 0

五、 大小写 
属于ORACLE的关键字大写,表名、列名等小写。 

六、 列类型的选择 
• 用CHAR(
1)代替布尔值; 
• 应尽量使用VARCHAR2代替CHAR类型; 
• 
VARCHAR(2)最多4000字符; 
• DATE精确到微秒,而非天; 
• 使用CLOB代替LONG,BLOB代替LONG 
RAW; 
• ORACLE只有NUMBER一种数据类型,使用时请给定长度; 

七、 主键选择 
选择有意义的,不太长且能唯一标识记录行的列做主键,没有这种列时,才考虑使用SEQUENCE做主健。 

八、 列长度的选择 
应当根据实际需要选择列长度。有对应web 页面的,与页面上对应列长度一致。 

对数据的验证除数据库端实现外还要尽可能在表现层控制。 

九、 使用SQL语句的约定 
. 尽量避免在循环中使用SQL语句。 
. 避免在WHERE字句中对列施以函数: 
SELECT *  
FROM service_promotion 
WHERE TO_CHAR(gmt_modified,’yyyy-mm-dd’) 
= ‘20001-09-01’; 
  而应使用: 
SELECT * 
FROM service_promotion 
WHERE gmt_modified 
>= TO_DATE(‘2001-9-01’,’yyyy-mm-dd’) 
AND gmt_modified 
< TO_DATE(‘2001-9-02’,’yyyy-mm-dd’); 

. 避免使用数据库的类型自动转换功能: 
SELECT * FROM category 
WHERE id = ‘123’; -- id’s type is number 
. 避免无效的连接: 
SELECT count(*
FROM offer a, count_by_email b 
WHERE a.email(+= b.email; 
. 连接(join)时要使用别名: 
SELECT a.*,b.offer_count(*
FROM offer a, count_by_email b 
WHERE a.email(+= b.email; 
6. 取TABLE 的META信息: 
SELECT * 
FROM table_name 
WHERE rowid is null (or rownum = 1 or pk = impossible_value); 
可考虑使用: 
SELECT * 
FROM table_name 
WHERE 1 = 0 ; 

十、 关于ALIBABA表的约定 
如果使用ALIBABA BZO,设表至少有如下字段: 
site 
VARCHAR2(32
gmt_create DATE 
gmt_modified DATE 
如果从IdBizObject继承,则还有一个NUMBER型的列,通常是主键,并与某一个SEQUENCECF 对应;如果从StrIdBizObject继承,则还有一个VARCHAR2型的列。 

十一、 列值约定 
. 有固定值列表的列,如status, action, site, 其值取小写; 
. 应尽可能选择数字来代表固定值列表中的值,相应的列定义为NUMBER型; 
. 用CHAR(1)表示布尔值的取大写:“Y”,“N”。 

十二、 关于表重复属性的定义 
不能有多择一的重复属性列; 

对于能多选的重复属性列,如果不做查询列并且重复次数较多,应使用ID_VARRAY代替,如要用作查询列,重复次数多的,应另建一表,次数少的且列值为二择一时,应使用NUMBER类型,加位操作。 

十三、 数据修改约定 
发现Production环境中数据有误,需要改正的,应在RA TERMINAL上提交数据更新表单,由数据库操作员在当日17时前修改完毕。 

数据库更程序更新的结构变动及数据更新,类似处理。 

提交SQTT测试需要准备数据或更新结构的,暂时先写入测试请求中,由SQTT同志MAIL(注明测试请求表单链接即可)通过数据库操作员修改数据库。待内部网TEAM增加新的表单后,测试请求分开提交。
 
十四、 数据库设计流程 
在新项目设计阶段会议,应有DBA参加。在SCHEMA确定以后方可开始编码。 


缩写字列表: 
payment pymt 
my trade activity mta 

特殊字列表: 
ACCESS 
DECIMAL INITIAL ON START 
ADD NOT INSERT ONLINE SUCCESSFUL 
ALL DEFAULT INTEGER OPTION SYNONYM 
ALTER DELETE INTERSECT OR SYSDATE 
AND DESC INTO ORDER TABLE 
ANY DISTINCT IS PCTFREE THEN 
AS DROP LEVEL PRIOR TO 
ASC ELSE LIKE PRIVILEGES TRIGGER 
AUDIT EXCLUSIVE LOCK 
PUBLIC UID 
BETWEEN EXISTS LONG RAW UNION 
BY FILE MAXEXTENTS RENAME UNIQUE 
FROM FLOAT MINUS RESOURCE UPDATE 
CHAR FOR MLSLABEL REVOKE USER 
CHECK SHARE MODE ROW VALIDATE 
CLUSTER 
GRANT MODIFY ROWID VALUES 
COLUMN GROUP NOAUDIT ROWNUM VARCHAR 
COMMENT 
HAVING NOCOMPRESS ROWS VARCHAR2 
COMPRESS IDENTIFIED NOWAIT 
SELECT VIEW 
CONNECT IMMEDIATE 
NULL SESSION WHENEVER 
CREATE IN NUMBER SET WHERE 
CURRENT INCREMENT OF SIZE WITH 
DATE 
INDEX OFFLINE SMALLINT 

CHAR VARHCAR VARCHAR2 NUMBER DATE LONG 
CLOB BLOB BFILE 
INTEGER DECIMAL 
SUM COUNT GROUPING AVERAGE 
TYPE 

十五、oracle中的保留字可以参见select 
* from v$reserved_words;数据字典表中所见.

分享到:
评论

相关推荐

    Oracle关键字(保留字)大全

    ### Oracle关键字(保留字)详解 #### 概述 在Oracle数据库系统中,关键字或保留字是用来执行特定功能和操作的预定义标识符。这些关键字对于编写有效的SQL语句至关重要,因为它们帮助开发者构建出清晰、逻辑严谨的...

    数据库关键字保留字大全

    Oracle保留字列表包括: * AND * ANY * AS * ASC * AUDIT * Authorization * BEGIN * BETWEEN * BY MySQL保留字 MySQL是一种开源的关系数据库管理系统。MySQL的保留字主要包括以下几个方面: * 数据定义语言...

    精通Oracle10编程.pdf

    此外,如果变量名包含特殊字符或者Oracle保留字,则需要使用双引号包围起来。例如,如果想要声明一个名为`"first-name"`的变量,可以这样写: ```plsql DECLARE "first-name" employees.first_name%TYPE; BEGIN -...

    ORACLE疑难错误解析.pdf

    这个错误通常与SELECT语句的结构有关,可能是因为确实遗漏了FROM关键字,位置错误,拼写错误,SELECT语句的列表之间缺少逗号,或者使用了单引号而不是双引号来定义别名,或者使用了Oracle保留字。例如,缺少FROM的...

    ORACLE_SQL性能优化(这个很全的)

    7. **表和列的命名规范**:合理的表和列名可以避免全表扫描,例如,避免在列名中使用特殊字符或Oracle保留字,以减少解析问题。 8. **SQL重写**:通过DBMS_RLS、DBMS_REWRITE等包,可以实现SQL语句的动态或静态重写...

    数据库ORACLE数据库命名编码规范共18页.pdf.zi

    3. 首字符:对象名称的第一个字符不能是数字,也不能是Oracle保留字。一般建议使用字母或下划线开头。 4. 保留字:避免使用Oracle的保留字作为对象名,以免引起语法冲突。 5. 命名惯例:为了提高可读性,通常采用...

    oracle调优,乱码解决等汇总

    8. **Oracle保留字**: 保留字是SQL和PL/SQL中预定义的具有特殊含义的关键字,不能用作表名、列名或其他数据库对象的名称。了解保留字有助于避免命名冲突。 9. **查询Oracle编码集**: 可以使用`SELECT * FROM ...

    常用数据库保留字列表

    例如,MySQL、Oracle、SQL Server和PostgreSQL等都有各自的保留字集。在Excel表格中,这些保留字可能会按照数据库类型分类,便于用户根据需要查找。 在实际工作中,开发者应遵循以下几点来避免与保留字冲突: 1. ...

    Oracle PL/SQL编程及最佳实践

    变量的名称不能是 Oracle 保留字,例如 SELECT、FROM 等。 七、表达式 在 PL/SQL 中,表达式是一种计算结果的公式。表达式可以是简单的,也可以是复杂的,例如使用函数、过程等。表达式可以用于赋值、比较、逻辑等...

    验证SQL保留字

    大多数DBMS,如MySQL、Oracle、SQL Server、PostgreSQL等,都有内置的语法分析器,可以帮助我们确认一个词是否为保留字。例如,在MySQL中,你可以尝试将疑似保留字作为表名创建,如果报错,那么它很可能就是保留字。...

    Oracle知识综合整理.docx

    标准命名方式要求以字母开头,长度不超过30个字符,可包含字母、数字、下划线、美元符号和井号,不能与同一用户下的其他对象重名或使用Oracle保留字。非标准命名方式允许使用任何字符,但需用双引号包围。 创建表...

    Oracle网络编程PLSQL

    - **Table_name**:表示新创建的表的名字,长度不能超过30个字符,且不能以数字开头,同时也不应与其他对象名称或Oracle保留字冲突。 - **Column**:定义了表中的列,每列由列名、数据类型和其他可选属性组成。 - **...

    数据库模型设计规范_-_Oracle分册V1.0.pdf

    最后,规范还包括了附录部分,其中提供了Oracle保留字参考、通用中英文对照及缩写表等重要参考文档,供设计人员参考使用。 整体而言,该规范旨在为数据库设计人员提供一套标准化的设计方法,以提高数据库设计的质量...

    利用plsql把excel的数据批量导入oracle数据库的顺序.docx

    通过以上步骤,你就能成功地将Excel中的数据导入到Oracle数据库,并解决了因字段名与Oracle保留字冲突导致的问题。在实际操作中,确保对数据进行充分验证,以保证数据的完整性和一致性。同时,熟悉SQL语句和数据库...

    Oracle操作命令

    表的字段命名有一些规则,如必须以字母开头,长度不超过30个字符,不能使用Oracle保留字,并且可以使用特定的字符集。Oracle支持多种数据类型,如字符型`char`、`varchar2`和`clob`,数字型`number`,日期类型`date`...

    Oracle知识整理.docx

    - 标准命名方式:以字母开头,最多30个字符,包含A-Z、a-z、0-9、_、$和#,且不能与同一用户下的其他对象重名,不能使用Oracle保留字。 - 非标准命名方式:允许使用任何字符,但需用双引号括起,例如`"table"`。 ...

    PLSQL(Oracle)编程规范.pdf

    - 避免使用Oracle保留字作为变量名。 4. **书写规范**: - **大小写风格**:通常,常量全大写,变量和函数名使用驼峰式或下划线式,表和列名首字母小写,其余单词首字母大写。 - **缩进风格**:使用一致的缩进,...

    ORACLE数据库设计规范.doc

    命名规则要求使用富有意义的英文词汇,避免使用缩写和 Oracle 保留字,各表之间相关列名尽量同名,命名只能使用英文字母、数字和下划线。 表名规则规定了表名的组成结构,包括开发公司名称、子系统名称和表含义,...

Global site tag (gtag.js) - Google Analytics