我在学习书中打印的代码存在问题。
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;。请帮我找错。
答案 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
关键字后添加了一个空格。