第四章 PL/SQL块 动态查询语句和异常处理 练习题答案

本文介绍了如何在PL/SQL中使用动态SQL语句进行表操作,包括添加列、更新数据以及处理异常。同时展示了动态查询学生信息、创建视图并处理异常的情况。还涉及了使用RETURNING子句查询和修改员工津贴的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

动态执行SQL语句:
1、用PLSQL给emp添加dname列,然后更新这个列的数据;
异常和动态执行SQL部分:
declare
sql_stmt1 varchar2(300); --动态SQL语句
sql_stmt2 varchar2(200);
begin
sql_stmt1:= --给emp添加dname列
‘alter table emp add (dname varchar2(20))’;

sql_stmt2:= --更新这个列的数据
'update emp set dname=
(select dname from dept where emp.deptno=dept.deptno)
where exists
(select dname from dept where emp.deptno=dept.deptno) ';

execute immediate sql_stmt1;
execute immediate sql_stmt2;
commit;
end;

注意:动态语句中是不能有封号;出现的

2、输入某个学生名字,查询该学生的信息,如果该学生不存在,
则引发异常,输出信息,该学生不存在
declare
name t_students.sname%type := ‘&name’;
students t_students%rowtype;
begin
select sno,sname,sage,ssex into students from t_students where sname= name;
dbms_output.put_line
(‘学号是’||students.sno||’,姓名是’||students.sname||’,性别是’||students.ssex||’,年龄’||students.sage);
exception
when no_data_found then
dbms_output.put_line(‘该

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值