| 网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 |
![]() |
| Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道 |
网管网www.bitscn.com
| 关键字 --------------------- PRIVILEGE NOPARALLEL_INDEX NESTED_TABLE_SET_REFS INTEGER NOREWRITE REFERENCING NO_FILTERING SB4 UB2 INDEX_RS SMALLINT NOCPU_COSTING PARALLEL ROLES MAXARCHLOGS CONSTRAINTS DECIMAL CHAR |
这些单词真的与其它关键字具有同一个意思吗?通过计算,答案是否定的。直接的单词数(1140)和总的单词数(1142)间只有两个数的差距。这是否是和单词的目的或功能有某种关联呢?就是说是否CHAR是(大致是)和VARCHAR2一个意思呢?如果是这样的话,那么VARCHAR(或VARCHAR2,选一个)也应该是相同的。那么这个相同的意思就有点神秘了。 网管论坛bbs_bitsCN_com
让我们来看一个从Oracle 公司的展望而来的问题。在OTN论坛上的一个技术作者在创建新的关键字一栏里发表了一篇文章叫做认识到的一个关键问题。许多的(如果不是所有的),有记录的优化器hint是某种形式的关键字。假设你创建一个叫做GO_FAST 的存储过程,但是在下一个版本的关系数据库管理系统中,就有一个新的(假设我们愿意等这么久!)叫做GO_FAST 的hint 供你使用。你就可以开始想象当已创建的对象名称为了不和新版本中的保留字冲突而要改名时接收到的客户的海量抱怨。 网管u家u.bitsCN.com
但是,已记录的单词数从8.1.7.4版本中的660增加到了10.2.0.3中的1142个。减少两个视图的结果就是10g 有487个关键字在8i 中找不到,而8i 有两个(不算空白的话)在10g 中找不到。许多新的单词是和优化器hint有关的。 网管u家u.bitsCN.com
作为一个开发人员,你需要能够开发一个用户无权使用的scheme。可以在你的关系数据库管理系统产品的开始建立一个scheme,这个scheme不只要阻止与它不一致的用户,还要只允许一些选定的用户能够首先看到它。X$表就是用于这个的。 网管下载dl.bitscn.com
我试着解释在X$表名称背后所隐藏的意思。几个来源定义了许多X$表;一个相当广泛的来源是MetaLink 的注解175982.1。即使有了这个列表,“kwddef”的意思也还没有表示出来。我们知道开头“k”是核心的意思,我曾经猜测“wddef”可能是与单词定义有关。
网管联盟bitsCN@com
关键是在SYS中所命名的避免了冲突,但是在SYS中所显示出来的(通过视图,作为一种方式)可能会与你的代码或命名scheme 冲突。你肯定已经做过这样的事情。在Oracle 中,在某些等级上一个对象有且只有一个名称。用户A和用户B可以各有一个叫做EMP的表,但是最多只能有一个具有和EMP相同名称的公共同义字。假设一个用户叫做A:
网管网www_bitscn_com
网管网www.bitscn.com
| SQL> create table a.emp as select * from scott.emp; Table created. SQL> create public synonym emp for scott.emp; Synonym created. SQL> create public synonym emp for a.emp; create public synonym emp for a.emp * ERROR at line 1: ORA-00955: name is already used by an existing object |
|
0
|
评论加载中…