Oracle数据库中关键字

更新时间:2023-05-03 04:51:49 阅读: 评论:0

Oracle数据库中关键字
在 Oracle 数据库中有一些单词具有特定的意思,也许不是提供给你的,但是使用它们你就可以不必解析、执行和获取你所编写的代码。为了更准确,在第一句话中的一些单词可以归类为保留字和关键字。在关键字的分类中,上下文起到了作用,因为一个单词不总是保留字。例如,在Oracle数据库中有一些单词具有特定的意思,也许不是提供给你的,但是使用它们你就可以不必解析、执行和获取你所编写的代码。为了更准确,在第一句话中的“一些单词”可以归类为保留字和关键字。在关键字的分类中,上下文起到了作用,因为一个单词不总是保留字。例如,单词COMMIT 本身可以触发很多事件,所以你可能要假设COMMIT 是Oracle密切使用的一个关键字。从Oracle 的角度看,就是只有它可以使用这个单词。但结果是,COMMIT 并没有如它希望的那样。如果你想的话你可以创建一个叫做COMMIT 的表,因为COMMIT 是一个关键字,这比保留字的级别要低。
保留字是被锁定的,而关键字在某些条件下可以使用。审查是一个有用的工具或功能,那么如果你想创建你自己的审查表,你是否可以使用“create table audit (...)”语句呢?
至少在SQL中是不行的,你不能家长的期望 通过这种方法使用“audit”。既然你不想使用这些特殊单词,那么你怎样能知道(或者你能从哪找到)特殊单词有哪些呢? 在文档库(在一个索引中)中的几个指导包括了这个列表,但是权威的和一站式的来源是V$RESERVED_WORDS 数据字典视图。
视图的名称表示这只是关于保留字的;但是描述视图的时候,重要的主键列被称为KEYWORD。这使得当我要了解关键字和保留字的区别时把我搞糊涂了。它使得视图中的第二列也很重要:RESERVED。因此V$RESERVED_WORDS 的解码环如下所示:
数据库参考指导在对V$RESERVED_WORDS 的描述中准确地表达了这个意思。视图有其它几个字段,而它们所显示出来的(或没有)很有意思。拿 LENGTH 举例。这个字段如它的名字所显示的,表示了关键字的长度。这带来两个问题。首先,为什么这个长度重要呢?其次,这个值既然很容易得到,那为什 么不把它存储为一个属性呢?(是哪个正规化作出这个例外的?)
在Oracle 10g 中,有27个关键字长度是1,有29个关键字长度为1或为空。这些长度为1或为空的关键字有哪些呢(而且它们的保留状态是什么)?我正在思考长度为1的关 键字,因为它们通常包括符号。
也可以包括关键字“>>”,但是这样的话要考虑的关键字的数量就超出了在这里所需要考虑的。
在非保留关键字字段中有两个值为空的例子。它们显示为一个空格、或为空或其它的什么吗?这个问题很难回答,因为它们都没有ASCII 值。如果其中一个表现为一个或多个空格的形式,那么可能backspace 、tab 、新行或者空格的值就对应地变成了8、9、10或32。
让我们更深一层地研究视图定义,并看看这些值是从哪来的。使用Toad 深入到
GV_$RESERVED_WORDS 脚本(在SYS schema下面,VIEWS)中,我们看到下面的内容:
SELECT inst_id, keyword, LENGTH,
DECODE (MOD (TRUNC (TYPE / 2), 2), 0, 'N', 1, 'Y', '?') rerved,  DECODE (MOD (TRUNC (TYPE / 4), 2), 0, 'N', 1, 'Y', '?') res_type,  DECODE (MOD (TRUNC (TYPE / 8), 2), 0, 'N', 1, 'Y', '?') res_attr,  DECODE (MOD (TRUNC (TYPE / 16), 2), 0, 'N', 1, 'Y', '?') res_mi,  DECODE (MOD (TRUNC (TYPE / 32), 2), 0, 'N', 1, 'Y', '?') duplicate
FROM x$kwddef;
在格式化一些字段并按类型排序之后(只针对长度小于等于1的),输出下面的内容:ADDR          INDX    INST_ID KEYWORD  LENGTH  TYPE -------- ---------- ---------- ------- ------- ------
607DE010      1140          1              0      1
607DD48C      1073          1 E            1      1
607DC8B0      1004          1 A            1      1
607D6818        442          1 G            1      1
607D3B3C        181          1 M    &猴子卡通 nbsp;       1      1
607DC070        956          1 K            1      1
607DA230        780          1 U            1      1
607DE03C      1141          1              0      1
607D37A0        160          1 P            1      1
607DC40C  &nb英文4 sp;     977          1 T            1      1
607D8E14        663          1 |            1      2
607D8FF8        674          1 :            1      2
607DA364        787          1 -            1      2
607DAA70        828          1 [            1      2
607DADE0        848          1 <            1      2
607DBB74        927          1 ]            1      2
607DBE8C        945          1 !            1      2
607DC82C      1001          1 *&煕和熙是一个字吗 nbsp;           1      2
607D8BAC        649          1 >            1      2
607D7D10        564          1 (            1      2
607D7108        494          1 =            1      2
607D6CBC        医学生实习总结 469      &nb个人思想总结 sp;   1 .            1      2
607D6978        450          1 @            1      2
607D4FDC        301          1 ^            1      2
607D45B8        242          1 /            1      2
607D3A34        175          1 ,            1      2
607D2B6C        89          1 )            1      2
607D1F38        18          1 +            1      2
607D2300        40          1 &            1      2
TYPE 字段用作分组。全部的类型数量如下所示:
SQL> lect type, count(*)
2  from x$kwddef
3  group by type
4  order by 1;
TYPE  COUNT(*)
---------- ----------
1        998
2        95
9          2
16        29
33        14
34          4
将类型的值作为一个指示器,将一个单词指定为具有重复的意思,使它具有一个足够高的类型值(大于32),以便分割的截断大于1。这18个具有重复值的单词是:
关键字
---------------------
PRIVILEGE
NOPARALLEL_INDEX
NESTED_TABLE_SET_REFS
INTEGER
NOREWRITE
REFERENCING
NO_FIL爱国标语 TERING
SB4
UB2
INDEX_RS
SMALLINT
NOCPU_COSTING
PARALLEL
ROLES

本文发布于:2023-05-03 04:51:49,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/519969.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:作文
标签:关键字   单词   保留字
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图