以下作业要求将每一题的执行命令脚本按顺序保存起来,并且加上适当的注释说明。
均为使用pl/sql完成的作业!《
1、 编写带输入参数的过程,实现员工查询,根据雇员编号,查询雇员的姓名,职务和部门名称,如果没有找到,要提示雇员编号未找到!使用exec命令进行测试。
create or replace procedure select_byid(v_eno in out varchar2 )
ascursor my_cursor is select * from emp where empno=v_eno;
v_emp emp%rowtype;
beginopen my_cursor;
fetch my_cursor into v_emp ;
if(my_cursor%found) then
uresult:='success!';
end if;
close my_cursor;
end;declare
uresult varchar2(50):=雇员编号未找到!';
eno begin
select_byid(eno,uresult);
dbms_end;
2、 创建一个名称为my_swap的过程,有两个in out类型的数字型参数,实现数字交换。
定义两个数字变量作为实际参数,调用过程实现数字交换,并在输出交换后变量的值。
create or replace procedure swap(p1 in out number,p2 in out number)
as temp number;
begintemp:=p1;
p1:=p2;
p2:=temp;
end;declare
number1 number:=100;
number2 number:=200;
begindbms_
swap(number1 ,number2);
dbms_end;
3、 编写一个向dept表插入数据的过程。
create or replace procedure insert_dep(v_dno
asbegin
insert into dept(deptno,dname) values(v_dno,v_dname);
end;begin
insert_dep(2,'zhangsan');
end;4、 编写一个输出dept表中所有数据的过程。
create or replace procedure select_dept
ascursor my_cursor is select * from dept;
v_dept dept%rowtype;
beginopen my_cursor;
fetch my_cursor into v_dept ;
while my_cursor%found loop
dbms_fetch my_cursor into v_dept ;
end loop;
close my_cursor;
end;begin
select_dept;
end;5、 创建一个过程,显示指定雇员所在的部门名称和所在城市。
create or replace procedure select_dept2(v_dno
ascursor my_cursor is select * from dept where
v_dept dept%rowtype;
beginopen my_cursor;
fetch my_cursor into v_dept ;
dbms_'编号:'|v_'部门名称:'|v_'地址'||v_
close my_cursor;
end; declare
d_no number:=&dno;
beginselect_dept2(d_no);
end;6、 编写一个向emp表添加数据的过程,可传入三个参数雇员编号,雇员姓名,雇员部门。执行成功或失败要给出提示,处理执行过程中可能发生的异常。
create or replace procedure insert_emp(v_eno
ascan_not_insert exception;
cursor my_cursor is select empno from emp where empno=v_eno;
v_no number;
beginopen my_cursor;
fetch my_cursor into v_no;
if my_cursor%found then
raise can_not_insert;
end if;
insert into emp(empno,ename,deptno) values(v_eno,v_ename,v_dno);
exception
when can_not_insert then
dbms_'插入失败!')
close my_cursor;
end; begin
insert_emp(7934,'my_proce',10);
end;
Oracle基础查询关联查询练习题
有职员表 emp,表结构如表 1所示 表 1 职员表emp 信息。emp 表中的示例数据如图 1所示 图 1有部门表 dept,表结构如表 2所示 表 2 部门表 dept 信息。dept表中的示例数据如图 2所示 图 2需要完成如下查询 1 查询职员表中,在20和30号部门工作的员工姓名和部门号。...
3oracle查询语句练习
实验三 查询语句的练习。一 实验目的。1.掌握select语句的基本语法 2.掌握子查询的表示 3.掌握多表查询的表示 二 实验内容及步骤。以scott登录数据库,查看scott用户已经存在的 并使用scott用户已存在的 做以下查询。注 把查询语句粘贴到相应题目下面,并保存。1 查看dept表结构...
ORACLE高级查询
本章目标 多表查询。联接查询 inner join 内联接 left outer join 左外联接 right outer join 右外联接 full join 全联接 子查询。集合操作。union 联合 union all 联合所有 intersect 交集 minus 减集 一 连接类型。o...