名称为$的Oracle表

Gum*_*zak 13 oracle ddl

在表格下的Sql Developer中,我看到了表格,但有些表格中有$.

例:

  tb$something
Run Code Online (Sandbox Code Playgroud)

当桌子名称时,'$'符号是什么意思?

Daz*_*zaL 11

它没有任何意义.因为如果你愿意,你可以用美元符号创建表格(可能不推荐,因为人们可能会因为认为他们是oracle特殊表而感到困惑).

如果您指的是所拥有的对象SYS,SYSTEM那么Oracle会将其内存结构视图命名为例如V$(例如v$session).但这些只是Oracle公司用于其对象的命名约定.

  • > Oracle强烈建议您不要在非加注标识符中使用$和#.http://docs.oracle.com/cd/E11882_01/server.112/e10592/sql_elements008.htm (3认同)

kil*_*tek 9

包含前缀V $的表是存储易失性信息的表.

易失性信息由oracle实例在使用时生成(在使用中表示实例已启动并运行).易失性信息包括统计,用户的会话信息,内存分配.


Fra*_*itt 5

通常,这些是"属于"数据库的表 - 要么是因为它们由一个预定义用户(SYS,...)拥有,要么是因为Oracle将它们用于内务处理,例如

  • 全文索引(这些被命名为DR $ ...)
  • 物化视图日志(这些日志名为RUPD $ ...和MLOG $ ...)

但是你不能依赖那个规则,因为(正如DazzaL已经提到的那样),没有什么能阻止你创建自己的名字中带有美元符号的表.