`
xdw1626
  • 浏览: 171210 次
  • 性别: 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格式化为数字

    最简洁的oracle格式化为数字,保留小数位数,简单易行,功能全面

    数据库保留字

    Oracle /SqlServer /DB2 数据库保留字

    mybatis中使用oracle关键字出错的解决方法

    主要给大家介绍了关于mybatis中使用oracle关键字出错的解决方法,文中通过示例代码将解决的方法介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

    MySQL 5.7中的关键字与保留字详解

    下面我们来了解一下MySQL中的关键字和保留字。 什么是关键字和保留字 关键字是指在SQL中有意义的字。 某些关键字(例如SELECT,DELETE或BIGINT)是保留的,需要特殊处理才能用作表和列名称等标识符。 这一点对于...

    Oracle汉字转换成拼音,支持首字母或全拼

    Oracle中进行汉字转换成拼音,通过参数不同可以返回拼音首字母或全拼: --调用方式: SELECT f_getSpell('江西') from dual; --返回 'jx' --SELECT f_getSpell('江西',0) from dual; --返回 'jiangxi'

    oracle保留两位小数解决方案

    公司需要处理一些报表,需要使用百分率,保留2位小数,只用round和trunc函数都可以实现(round(_data,2) ),只是格式不是很工整,对格式要求不严谨的情况下使用round即可. 个人认为比较方便的一种 select decode(n_jg...

    oracle_PLSQL_语法详细手册

    Table_name 用来指定所创建的表名,最长为30个字符,但不可以数字开头(可为下划线),但不可同其它对象或Oracle的保留字冲突. Column 用来指定表中的列名,最多254个. Datatype 用来指定列中存储什么类型的数据,并保证...

    Oracle_SQL_PL/SQL书写规范性能优化技巧.doc

    1、 语句中出现的所有表名、字段名全部小写,系统保留字、内置函数名、Sql保留字大写。 2、 连接符or、in、and、以及=、、&gt;=等前后加上一个空格。 3、 对较为复杂的sql语句加上注释,说明算法、功能。 ...... 二、...

    Oracle 汉字转全拼 拼音首字母

    --此函数默认返回汉字拼音的首字母,第二个参数不为空则返回全拼。 create or replace function f_getFirstOrFullSpell(p_cnStr In varchar2,p_sign In number default null) return varchar2 as ...

    韩顺平—玩转oracle视频教程笔记

    韩顺平—玩转oracle视频教程笔记,包括了他的oracle视频教程的所有笔记,部分回顾上节课内容的文字已删除,保留的是每节课的所有完整笔记

    Oracle中如何查询当前版本中的各参数

    在视图 V$OBSOLETE_PARAMETER 中,包含这些参数的名称和一个标志字 ISSPECIFIED ,该标志字用来指出这个参数是否在 init.ora 文件中已实际设置。Oracle 系统中还有一类参数称之为隐藏参数 (hidden parameters) ,是...

    Oracle数据库、SQL

    17.10保留点savepoint 36 十八、 数据库对象:视图view 37 18.1带子查询的create table 37 18.2带子查询的insert 37 18.3定义缺省值:default 37 18.4 视图view 38 18.5视图的应用场景 38 18.6视图的分类 39 18.7...

    oracle函数大全.doc

    trunc(date,fmt)按照给出的要求将日期截断,如果fmt='mi'表示保留分,截断秒 SQL&gt; select to_char(trunc(sysdate,'hh'),'yyyy.mm.dd hh24:mi:ss') hh, 2 to_char(trunc(sysdate,'mi'),'yyyy.mm.dd hh24:mi:ss') hhmm ...

    Oracle练习笔试大全

    Oracle练习笔试大全 1、select ename, sal * 12 from emp; //计算年薪 2、select 2*3 from dual; //计算一个比较纯的数据用dual表 3、select sysdate from dual; //查看当前的系统时间 4、select ename, sal*12 ...

    Oracle8i_9i数据库基础

    §6.4.2 保留点和撤消 177 第七章 复杂查询语句的使用 180 §7.1 复杂查询语句的使用 180 §7.1.1 相关子查询 180 §7.1.2 外连接 180 §7.1.3 自我连接 181 §7.1.4 UNION,INTERSECT及MINUS 182 §7.2 创建复杂的...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第2/2部分)

    8.7.2 用于撤销管理与保留保证的参数 294 8.7.3 调整与监视撤销表空间 295 8.7.4 创建和管理撤销表空间 297 8.8 本章知识点回顾 297 8.9 自测题 299 8.10 自测题答案 301 第9章 使用SQL检索、限制和排序数据 ...

    Oracle SQL语句实现数字四舍五入取整

    本文介绍Oracle中一些对数字的常用操作,包括向上向下去整、四舍五入、保留N位小数等操作,希望对大家有所帮助。

Global site tag (gtag.js) - Google Analytics