我得维护一个应用程序,它使用$$符号作为前缀和后缀来创建表语句中的某些单词 - Oracle DB.喜欢
create table $$ temp $$(id int)
出于测试目的,我在SQL plus中运行了语句,但它抛出了无效的字符错误,所以我不得不删除$$符号然后按预期运行.
$$是否有特定用途?与会话相关的一些事情?
您可以使用表名周围的双(!)引号创建并稍后删除具有非标准字符的表:create table "$$tmp$$"(id int)
.不,$没有任何特殊含义,除了用户不应该使用它,因为各种内部表的名称都包含$(想想v $ session).$应该避免名称冲突.
是否有特定用途的$$
不,那里没有.但是,动态性能视图$
的名称中只有一个美元符号()v$sql
.这是Oracle的选择.
您将无法创建一个表,该表以美元符号($
)开头,因为任何非带引号的标识符都应以字母字符开头.但是,如果用双引号括起来,可以强制Oracle接受以非字母字符开头的标识符,如此
create table "$$temp$$"( id int )
但应该注意的是,当您使用双引号创建表时,您使该表名称区分大小写(除非您没有以大写形式键入表名),并且在引用该表时始终必须使用双引号.