我有一张桌子SC.LT_TABLE。由于编码错误,我的程序执行了错误的请求。
SELECT * FROM SC.LT_TABLESC.LT_TABLE当然,它不起作用。目标是使此查询有效。
我试着创建一个同义词
CREATE PUBLIC SYNONYM "SC.LT_TABLESC.LT_TABLE" FROM SC.LT_TABLE如果我使用双引号(代码不使用双引号),查询就能工作。
所以问题是-我能在同义词中加入双引号吗?或者还有其他方法可以使查询工作呢?
我知道整个问题是无可辩驳的,但我现在无法更新代码:-)
甲骨文11g
谢谢。
发布于 2016-03-15 10:36:26
没有办法做你想做的事。SC.LT_TABLESC.LT_TABLE中的标识符SELECT * FROM SC.LT_TABLESC.LT_TABLE包含三个段,并将以这种方式解析。
很有可能定义一个名为"SC.LT_TABLESC.LT_TABLE"的同义词,但是由于这个同义词包含.,所以只能使用引用的标识符语法。
这里的关键点是,标识符SC.LT_TABLESC.LT_TABLE首先被解析为三个段,然后每个段被解析,并且没有办法使两个段LT_TABLESC.LT_TABLE看起来像一个单独的段,因为这个决定是在考虑任何现有对象之前作出的。
https://stackoverflow.com/questions/36008527
复制相似问题