sql - SQL 语句中缺少左括号的解决方法
问题描述
SQL Developer 说缺少左括号。
ORA-00906:缺少左括号 00906。00000 -“缺少左括号” *原因:
*操作:第 8 行错误:第 8 列:108
甲骨文 SQL
SELECT t.DSA_NAME as "DSA NAME",
t.REVISION as REVISION,
XMLTYPE(t.DSA_SOURCE).EXTRACT('//PreProcessor/statements/text()').getStringVal() AS "PreProcessor Temp Table",
XMLTYPE(t.DSA_SOURCE).EXTRACT('//PostProcessor/statements/text()').getStringVal() AS "PostProcessor Temp Table"
FROM
DSA_SOURCE t
where XMLCAST (XMLTYPE(t.DSA_SOURCE).EXTRACT('//PreProcessor/statements/text()').getStringVal() AS VARCHAR2) like '%create%temp%'
and t.REVISION IN (SELECT MAX(REVISION)
FROM DSA_SOURCE
GROUP BY DSA_NAME);
我曾尝试在 CAST 函数中使用VARCHAR2(100)
而不是使用,但随后出现错误。VARCHAR
ORA-00932:不一致的数据类型:预期 - 得到 - 00932. 00000 - “不一致的数据类型:预期 %s 得到 %s” *原因:*操作:
解决方案
这个 Stackoverflow 答案很好地总结了它 https://stackoverflow.com/a/10197710/9822083
SELECT t.DSA_NAME as "DSA NAME",
t.REVISION as REVISION,
XMLTYPE(t.DSA_SOURCE).EXTRACT('//PreProcessor/statements/text()').getStringVal() AS "PreProcessor Temp Table",
XMLTYPE(t.DSA_SOURCE).EXTRACT('//PostProcessor/statements/text()').getStringVal() AS "PostProcessor Temp Table"
FROM
DSA_SOURCE t
where XMLCAST (XMLTYPE(t.DSA_SOURCE).EXTRACT('//PreProcessor/statements/text()').getStringVal() AS VARCHAR2(50)) like '%create%temp%'
and t.REVISION IN (SELECT MAX(REVISION)
FROM DSA_SOURCE
GROUP BY DSA_NAME);
VARCHAR2 是一种需要最大大小/长度的类型。您缺少的左括号是围绕大小的括号。
推荐阅读
- java - 如何在java中为给定的输入文件生成输出文件
- unicode - 是否可以在没有预测文本的 Android 设备上安装和分发自定义 Keyman 键盘?
- javascript - 如何将 Express 错误转换为用户友好的消息?
- javascript - 另一个ajax函数成功后如何刷新另一个ajax函数
- javascript - 在日历外输入后使用来自 API 的数据更新完整的日历 Vue 事件
- javascript - 无法将我的节点应用程序部署到 Hostinger、centOS > CyberPanel 在 localhost:3030 工作正常时
- ios - Obj-c - 在 UITableView 中按字母顺序排列字典数组
- python - 合并熊猫数据框上的多列(不同列上的“Vlookup”)
- python - Django:TypeError:ModelBase 类型的对象不是 JSON 可序列化的
- javascript - 是否可以将段落中的值发送到服务器?