在模式scott.可以试验一下:
set serveroutput on
declare
v_dname varchar(20);
begin
select dname into v_dname from dept where deptno=&n;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('NO DATA_FOUND');
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.PUT_LINE('TOO_MANY_ROWS');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('OTHER ERROR');
end;
/
set serveroutput on
declare
v_dname varchar(20);
begin
select dname into v_dname from dept where deptno=&n;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('NO DATA_FOUND');
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.PUT_LINE('TOO_MANY_ROWS');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('OTHER ERROR');
end;
/
模式scott. 是什么东西?
密码是tiger可以不用scott登陆
我改了一下:
set serveroutput on
declare
v_dname varchar(20);
begin
select dname into v_dname from scott.dept where deptno=&n;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('NO DATA_FOUND');
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.PUT_LINE('TOO_MANY_ROWS');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('OTHER ERROR');
end;
/
报错啊,请问应该放在什么位置? set serveroutput on
(read_Date in varchar2 ,Date_d in varchar2)
as...
然后编译就出错,我该怎么写呢?
create procedure pro_a ( v_deptno int)
isv_dname varchar(20);
begin
select dname into v_dname from scott.dept where deptno=v_deptno;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('NO DATA_FOUND');
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.PUT_LINE('TOO_MANY_ROWS');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('OTHER ERROR');
end;exec pro_a(20);
create procedure pro_a ( v_deptno int)
is
....
我这样写了, 可是编译的时候就报错了, 究竟该怎么办呢?
isv_dname varchar(20);
begin
select dname into v_dname from scott.dept where deptno=v_deptno;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('NO DATA_FOUND');
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.PUT_LINE('TOO_MANY_ROWS');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('OTHER ERROR');
end;