PL/SQL基础学习(4)

–1、select * into 必须只满足一条记录 没有记录或有多条记录会报异常
–只能取出一条 要取多条要用游标
–2、update和delete语句没有记录或多条记录满足都不会出现异常

3、
–select * into 如果没找到记录会出现异常

--/
DECLARE
v_emp emp%rowtype;
BEGIN
select * into v_emp from emp where empno = 9999;
dbms_output.put_line(v_emp.ename);
EXCEPTION
WHEN NO_DATA_FOUND THEN
dbms_output.put_line('未找到记录');
END;
/

4、
–select * into 如果有多行记录满足也会出现异常

--/
DECLARE
v_emp emp%rowtype;
BEGIN
select * into v_emp from emp where job = 'MANAGER';
dbms_output.put_line(v_emp.ename);
EXCEPTION
WHEN TOO_MANY_ROWS THEN
dbms_output.put_line('超过一行返回');
END;
/


5、
–update语句没有满足条件的记录不会出现异常

--/
DECLARE
v_emp emp%rowtype;
BEGIN
update emp set ename = 'test1' where empno = 9999;
dbms_output.put_line('update无记录不会出现异常');
END;
/

6、
–update语句有多行记录满足条件也不会出现异常

--/
DECLARE
v_emp emp%rowtype;
BEGIN
update emp set sal = sal + 100 where job = 'SALESMAN';
dbms_output.put_line('update多行记录不会出现异常');
END;
/

7、
–delete语句没有满足条件的记录不会出现异常

--/
DECLARE
v_emp emp%rowtype;
BEGIN
delete from emp where empno = 9999;
dbms_output.put_line('delete无记录不会出现异常');
END;
/

8、
–delete语句有多行记录满足条件不会出现异常

--/
BEGIN
delete from emp where job = 'CLERK';
dbms_output.put_line('delete多行记录不会出现异常');
END;
/

《PL/SQL基础学习(4)》上的2个想法

评论已关闭。