在ORACLE SQL Developer上测试SQL查询-初学者

时间:2018-11-20 02:54:12

标签: sql debugging oracle-sqldeveloper

我是Oracle SQL Developer和SQL的新手。我有以下问题:

1)我已连接到公司数据库。我有权访问视图。当我尝试确保如何在Oracle SQL Developer上测试SQL查询 结果符合我的预期,甚至可以奏效。例如,当我在Excel中编写VBA代码时,我要进行a)调试,b)将debug.print变量放到立即窗口以进行检查。 我想了解如何在Oracle SQL Developer中做到这一点。

2)如何在Oracle SQL Developer中打开结果窗口?

3)我尝试运行以下SQL查询,但收到以下错误消息。

spool "C:\myfolder\TEST_sql.csv";
SELECT /*csv*/ CLIENT_NAME, ORDER_ID, PRODUCT, 
QUANTITY, to_char(CREATION_DATE,'mm/dd/yyyy 
hh24:mi:ss') as CREATION_DT
FROM reports.REPORT_ORDER
ORDER BY ORDER_ID
FETCH FIRST 5 ROWS;
spool off;

错误消息:

Error starting at line : 2 in command -
SELECT /*csv*/ CLIENT_NAME, ORDER_ID, PRODUCT, 
QUANTITY, to_char(CREATION_DATE,'mm/dd/yyyy 
hh24:mi:ss') as CREATION_DT
FROM reports.REPORT_ORDER
ORDER BY ORDER_ID
FETCH FIRST 5 ROWS;
Error at Command Line : 4 Column : 10
Error report -
SQL Error: ORA-00933: SQL command not properly ended
00933. 00000 -  "SQL command not properly ended"
*Cause:    
*Action:

1 个答案:

答案 0 :(得分:1)

您可以通过两种方式在SQL Developer中执行查询。

作为脚本:

spool c:\users\jdsmith\so.csv
select /*csv*/ first_name,
       last_name,
       to_char(hire_date,'mm/dd/yyyy hh24:mi:ss')  hire_date
  from employees
  order by employee_id
  fetch first 5 rows only;
spool off

enter image description here

使用F5执行(或使用“工作表”工具栏上的第二个按钮)

这将遍历您的SQL工作表的内容(除非您突出显示了文本,然后仅将其突出显示),然后将其放入我们的脚本(SQL * Plus)引擎中。这就是SPOOL命令的执行方式-这些命令在客户端而不是数据库上执行。

您的另一个选择是只执行查询。

enter image description here

将执行您的SINGLE查询,结果的第一页将返回到数据网格。当您滚动浏览结果时,将提取更多行,直到全部返回。

您的代码出现错误,原因之一:

  1. 您至少没有使用添加了FETCH FIRST语法的Oracle Database 12c
  2. 然后您在FETCH上忘记了“唯一”关键字