oracle - oracle sql错误“ORA-00904:无效标识符”
问题描述
我已经完成了与 ORA-00904 相关的所有问题,但似乎没有一个能够回答我的问题。这是一段 shell 命令,我正在运行并且运行良好:
echo $(dzdo su - oracle -c '
echo "DB1234" | . oraenv
sqlplus -s /nolog << "hereDoc"
CONNECT myUserName/"MyPassword"@DB1234
select TABLESPACE_NAME from dba_tablespaces;
hereDoc
')
但是,当我尝试使用 WHERE 子句运行相同的命令时,该命令将失败并出现无效标识符错误:
echo $(dzdo su - oracle -c '
echo "DB1234" | . oraenv
sqlplus -s /nolog << "hereDoc"
CONNECT myUserName/"MyPassword"@DB1234
select TABLESPACE_NAME from dba_tablespaces where TABLESPACE_NAME = 'TEMP';
hereDoc
')
我曾尝试以各种组合运行上述命令,但结果却是同样的错误,甚至更糟的是另一个错误!:
1. select TABLESPACE_NAME from dba_tablespaces where TABLESPACE_NAME = q'[TEMP]';
2. select TABLESPACE_NAME from dba_tablespaces where TABLESPACE_NAME in ('TEMP');
3. select TABLESPACE_NAME from dba_tablespaces where TABLESPACE_NAME = 'TEMP' ;
这些命令在 sqlplus 提示符下直接运行时可以正确执行。
这似乎很简单,但无法确定案例,我已经花了几个小时试图解决这个问题。
解决方案
推荐阅读
- c# - 插入mysql表
- ios - 可扩展的 UITableView 在部分之间移动行有错误的页脚问题
- javascript - 如何在 JavaScript 上以 txt 格式下载数组
- swift - Alamofire 上传进度
- java - 使用锁定的设备 Headless JS 杀死 React Native Android 应用程序:在桥被破坏后调用 JS 函数(从后台启动应用程序)
- python - 部分已知日期之间的Python差异
- r - 如何在r中的for循环中运行协方差
- java - 如何防止在tomcat中重置数组?
- r - 如何在 R 中按组填充数据框中的空白?
- c++ - 使用我在头文件中定义的静态函数的 LNK2019 未解析的外部符号