频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

Oracle数据库中关键字

来源:pcdog 作者:佚名 出处:巧巧读书 2008-03-11 进入讨论组
下一页 1 2 3 4 5 

    在Oracle数据库 中有一些单词具有特定的意思,也许不是提供给你的,但是使用它们你就可以不必解析、执行和获取你所编写的代码。为了更准确,在第一句话中的“一些单词”可以归类为保留字和关键字。在关键字的分类中,上下文起到了作用,因为一个单词不总是保留字。例如,单词COMMIT 本身可以触发很多事件,所以你可能要假设COMMIT 是Oracle密切使用的一个关键字。从Oracle 的角度看,就是只有它可以使用这个单词。但结果是,COMMIT 并没有如它希望的那样。如果你想的话你可以创建一个叫做COMMIT 的表,因为COMMIT 是一个关键字,这比保留字的级别要低。

   

 SQL> create table commit (id number);

Table  create.

SQL>

    保留字是被锁定的,而关键字在某些条件下可以使用。审查是一个有用的工具或功能,那么如果你想创建你自己的审查表,你是否可以使用“create table audit (...)”语句呢?

   

 SQL>  create table audit (id number);
create table audit (id number);
             *
ERROR at line 1:
ORA-00903:invalid table name


SQL>

    至少在SQL中是不行的,你不能通过这种方法使用“audit”。既然你不想使用这些特殊单词,那么你怎样能知道(或者你能从哪找到)特殊单词有哪些呢?在文档库(在一个索引中)中的几个指导包括了这个列表,但是权威的和一站式的来源是V$RESERVED_WORDS 数据字典视图。

  视图的名称表示这只是关于保留字的;但是描述视图的时候,重要的主键列被称为KEYWORD。这使得当我要了解关键字和保留字的区别时把我搞糊涂了。它使得视图中的第二列也很重要:RESERVED。因此V$RESERVED_WORDS 的解码环如下所示:

RESERVED值

意思

Y

是保留字

N

不是保留字

 
    
    数据库参考指导在对V$RESERVED_WORDS的描述中准确地表达了这个意思。视图有其它几个字段,而它们所显示出来的(或没有)很有意思。拿LENGTH举例。这个字段如它的名字所显示的,表示了关键字的长度。这带来两个问题。首先,为什么这个长度重要呢?其次,这个值既然很容易得到,那为什么不把它存储为一个属性呢?(是哪个正规化作出这个例外的?)

  在Oracle 10g 中,有27个关键字长度是1,有29个关键字长度为1或为空。这些长度为1或为空的关键字有哪些呢(而且它们的保留状态是什么)?我正在思考长度为1的关键字,因为它们通常包括符号。也可以包括关键字“>>”,但是这样的话要考虑的关键字的数量就超出了在这里所需要考虑的。

关键字(保留的)

关键字(不保留的)

|
:
-
[
<
]
!
*
>
(
=
.
@
^
/
,
)
+
&


E
A
G
M
K
U
 
P
T

打开: http://www.qqread.com/oracle/2008/03/b400792.html 更多文章 更多内容请看数据库专栏数据库处理专题城域网专题专题,或进入讨论组讨论。
下一页 1 2 3 4 5 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章