Oracle 字符串内容评估为标识符
Posted
技术标签:
【中文标题】Oracle 字符串内容评估为标识符【英文标题】:Oracle string content evaluated as identifier 【发布时间】:2018-02-20 11:25:30 【问题描述】:我在 Oracle 中定义了下一个子句:
DEFINE mytable='users';
当我尝试获取该变量时,它显示以下错误:
SELECT &mytable FROM DUAL;
ORA-00904 string: invalid identifier
这意味着将“用户”作为变量进行评估,而不是检索字符串。
¿我该如何解决?
【问题讨论】:
如果您set verify on
,您可以看到替换是如何工作的,以及它实际尝试运行的“新”语句;并希望那样会很明显出了什么问题 - dual
表没有名为 users
.. 的列
【参考方案1】:
您需要quotes
才能访问此变量mytable
,如下所示:
select '&mytable' from dual;
'USERS'
--------------------------------
users
【讨论】:
以上是关于Oracle 字符串内容评估为标识符的主要内容,如果未能解决你的问题,请参考以下文章