带有连接的Oracle SQL错误

时间:2015-11-12 09:35:23

标签: sql oracle

我在学习书中打印的代码存在问题。

REM Describe my tables
CLEAR SCREEN
-- Create a file that is, int turn, executed
SET FEEDBACK OFF
SET PAGESIZE 0
SPOOL D:\1.sql
SELECT 'DESCRIBE' || table_name || ';'
FROM user_tables
WHERE table_name NOT LIKE 'BIN%'
ORDER BY 1;
SPOOL OFF
PROMPT
@@D:\1.sql
HOST del D:\1.sql
SET FEEDBACK ON

当我尝试运行它时,我看到很多错误消息,因为&#34;描述&#34;运算符运行:"DESCRIBE<name table>没有&#34; _&#34;。请帮我找错。

1 个答案:

答案 0 :(得分:2)

问题是 DESCRIBE 关键字与 TABLE 名称之间没有空格

您的查询:

SQL> SELECT 'DESCRIBE' || table_name || ';'
  2  FROM user_tables
  3  WHERE table_name NOT LIKE 'BIN%'
  4  ORDER BY 1;

'DESCRIBE'||TABLE_NAME||';'
-------------------------------------------
DESCRIBEDEPT;
DESCRIBEEMP;

您看到上面的输出,DESCRIBE和TABLE名称没有用空格分隔。

修改后的查询:

SELECT 'DESCRIBE ' || table_name || ';'
FROM user_tables
WHERE table_name NOT LIKE 'BIN%'
ORDER BY 1;

我在DESCRIBE关键字后添加了一个空格。