declare sz1 number(5):=&请输入数字1; sz2 number(3):=&请输入数字2; begin dbms_output.put_line(sz1/sz2); exception when ZERO_DIVIDE then dbms_output.put_line('除法运算时分母为0!'); when VALUE_ERROR then dbms_output.put_line('数据超出规定范围!'); when others then dbms_output.put_line('其他异常!'); end;输入123456不会运行
时间: 2024-03-05 17:54:54 浏览: 196
这是因为在 PL/SQL 中,使用 `&` 符号来提示用户输入值时,需要将其包含在双引号中,例如:
```
DECLARE
sz1 NUMBER(5):="&请输入数字1";
sz2 NUMBER(3):="&请输入数字2";
BEGIN
DBMS_OUTPUT.PUT_LINE(sz1/sz2);
EXCEPTION
WHEN ZERO_DIVIDE THEN
DBMS_OUTPUT.PUT_LINE('除法运算时分母为0!');
WHEN VALUE_ERROR THEN
DBMS_OUTPUT.PUT_LINE('数据超出规定范围!');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('其他异常!');
END;
```
在这个例子中,输入 `123456` 是可以正常运行的。
阅读全文