PLS-00103:遇到符号“COLUMNS”
Posted
技术标签:
【中文标题】PLS-00103:遇到符号“COLUMNS”【英文标题】:PLS-00103: Encountered the symbol "COLUMNS" 【发布时间】:2015-12-17 00:17:19 【问题描述】:我不明白问题是什么:
ORA-06550:第 13 行,第 57 列:PLS-00103:遇到符号 “列”
declare
cursor rec_tab is select table_name, COUNT(column_name) columns
from user_tab_columns
group by table_name;
num_row number(6);
begin
for ind_tab in rec_tab loop
execute IMMEDIATE 'select COUNT(*) from '||ind_tab.table_name into num_row;
dbms_output.put_line
(RPAD(ind_tab.table_name,30)||' '||RPAD(ind_tab.columns,6)||num_row);
end loop;
end;
/
【问题讨论】:
COLUMNS
是一个 PLSQL reserved word。为列别名使用不同的名称,例如 column_count
。
【参考方案1】:
在这里使用"COLUMNS"
而不是columns
:
(RPAD(ind_tab.table_name,30)||' '||RPAD(ind_tab."COLUMNS",6)||num_row);
这里可能会出现另一个问题:num_row number(6);
,因为它只允许存储最大为 999.999 的数字,当某些表有更多行时会出现错误。
【讨论】:
以上是关于PLS-00103:遇到符号“COLUMNS”的主要内容,如果未能解决你的问题,请参考以下文章