【问题标题】:How can I validate SQL query syntax in oracle database?如何在 oracle 数据库中验证 SQL 查询语法?
【发布时间】:2015-08-23 18:14:42
【问题描述】:
set NOEXEC ON;
Select * from emp;
Set NOEXEC OFF;

此验证在 SQL Server 中有效。但它在 oracle 中不起作用。

是否有任何语法来检查查询在 Oracle 中是否有效。

【问题讨论】:

  • 为什么?您试图解决什么问题导致您想要在不执行查询的情况下检查语法?您可能希望您的客户端应用程序准备语句而不执行它(或使用dbms_sql.prepare),但这会执行 DDL 语句。
  • 关于 dbms_sql.prepare 的更多信息。 (可能重复)stackoverflow.com/questions/20745010/…

标签: sql oracle oracle11g oracle-sqldeveloper


【解决方案1】:

使用EXPLAIN PLAN

EXPLAIN PLAN FOR SELECT FROM emp;

第 1 行出现错误:ORA-00936:缺少表达式

EXPLAIN PLAN FOR SELECT * FROM emp;

解释

【讨论】:

  • 在我的工作表中,PLAN 被下划线标记为错误,当我运行命令时出现错误:SQL 错误:ORA-00905:缺少关键字 00905.00000 -“缺少关键字”。
  • 那么这里的问题是什么?您的查询中缺少一些关键字。
猜你喜欢
  • 2010-12-08
  • 1970-01-01
  • 2012-02-17
  • 1970-01-01
  • 2021-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-07
相关资源
最近更新 更多