PL\SQL 语句忽略错误
Posted
技术标签:
【中文标题】PL\\SQL 语句忽略错误【英文标题】:PL\SQL statement ignored errorPL\SQL 语句忽略错误 【发布时间】:2017-07-23 17:30:58 【问题描述】:我是 PL\SQL 的初学者,在练习一个小代码时,我遇到如下错误
Error(7,1): PL/SQL: Statement ignored
Error(7,13): PLS-00302: component 'PUT_LINES' must be declared
Error(10,1): PL/SQL: Statement ignored
Error(10,50): PLS-00201: identifier 'LEGTH' must be declared
这是我用来练习的代码
create or replace procedure show_variable_length as
my_char char(50) := 'Hello';
my_varchar varchar(25) := 'World';
my_varchar2 varchar2(25) := 'World';
my_null_test varchar2(25);
begin
dbms_output.put_lines (my_char || ' ' || my_varchar);
dbms_output.put_line (my_char || ' ' || my_varchar2);
dbms_output.put_line('Length of my_char = ' || length(my_char));
dbms_output.put_line('Lenght of my_varchar= ' || legth(my_varchar));
dbms_output.put_line('Length of my_varchar2 = ' || length(my_varchar2));
my_char := ' ';
my_varchar := ' ';
my_varchar2 := ' ';
dbms_output.put_line ('Length of my char = ' || length(my_char));
end;
请帮忙。
【问题讨论】:
【参考方案1】:关键字长度(legth 没有n)和put_line(put_lines 末尾有额外的s)有拼写错误
关键字长度有拼写错误的行
dbms_output.put_line('Lenght of my_varchar= ' || legth(my_varchar));
put_line 中有拼写错误的行
dbms_output.put_lines(my_char || ' ' || my_varchar);
修改后的代码
create or replace procedure show_variable_length as
my_char char(50) := 'Hello';
my_varchar varchar(25) := 'World';
my_varchar2 varchar2(25) := 'World';
my_null_test varchar2(25);
begin
dbms_output.put_line(my_char || ' ' || my_varchar);
dbms_output.put_line(my_char || ' ' || my_varchar2);
dbms_output.put_line('Length of my_char = ' || length(my_char));
dbms_output.put_line('Lenght of my_varchar= ' || length(my_varchar));
dbms_output.put_line('Length of my_varchar2 = ' || length(my_varchar2));
my_char := ' ';
my_varchar := ' ';
my_varchar2 := ' ';
dbms_output.put_line('Length of my char = ' || length(my_char));
end;
【讨论】:
以上是关于PL\SQL 语句忽略错误的主要内容,如果未能解决你的问题,请参考以下文章
PL/SQL: SQL 语句被忽略 - 创建一个过程得到编译错误
为啥我的 PL/SQL 触发器会引发“错误(2,2):PL/SQL:语句被忽略”和“错误(2,5):PLS-00204:函数或伪列'EXISTS'”错误?
PLS-00382:表达式类型错误,PL/SQL:语句被忽略