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