oracle同义词中的双引号

Double quotes in oracle synonym

我有一个tableSC.LT_TABLE。 由于一些错误的编码,我的程序执行了这个错误的请求

SELECT * FROM SC.LT_TABLESC.LT_TABLE

当然是行不通的。目标是使此查询有效。

我试过创建一个类似

的同义词
CREATE PUBLIC SYNONYM "SC.LT_TABLESC.LT_TABLE" FROM SC.LT_TABLE

并且查询有效,但前提是我使用双引号,我的代码没有使用双引号。

所以问题是 - 我能否以某种方式将双引号包含在同义词中?或者还有其他方法可以使该查询有效吗?

我知道整个问题很荒谬,但我现在不能更新代码:-)

甲骨文 11g。

谢谢。

没有办法做你正在尝试的事情。 SELECT * FROM SC.LT_TABLESC.LT_TABLE 中的标识符 SC.LT_TABLESC.LT_TABLE 包含三个段,将以这种方式解析。

定义一个名为 "SC.LT_TABLESC.LT_TABLE" 的同义词是很可能的,但由于这个同义词包含 .,因此只能使用带引号的标识符语法来引用它。

这里的关键点是先把标识符SC.LT_TABLESC.LT_TABLE解析成三段,然后每段解析,没办法让两段LT_TABLESC.LT_TABLE看起来像一个段,因为在考虑任何现有对象之前就做出了决定。