declare
x1 number;
y1 number;
begin
x1:=&x1_value;
y1:=&y2_value;
insert into tblnewdata_jk4 values(70,'July',x1,y1);
commit;
exception
when invalid_number then
dbms.output.put_line('err');
end;
/
我曾尝试编写一个异常块,用于验证用户输入的输入是否为数字。但我无法这样做。任何人都可以帮我解决这个问题。
答案 0 :(得分:3)
首先,
dbms.output.put_line('err');
应该写成dbms_output.put_line('err')
其次,除非您将字符串转换为数字,否则
INVALID_NUMBER
异常将无效。您应该使用VALUE_ERROR
最后,请避免在pl sql中使用
&
作为绑定变量,它在pl sql中没有意义,因为它是SQL * Plus中的一个特性。有关详细信息,请阅读this
试试这个:
declare
x1 number;
y1 number;
begin
x1:=:x1_value;
y1:=:y2_value;
insert into tblnewdata_jk4 values(70,'July',x1,y1);
commit;
exception
when VALUE_ERROR then
dbms_output.put_line('err');
end;
/