1 / 15
文档名称:

数据库实验报告.docx

格式:docx   大小:355KB   页数:15页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据库实验报告.docx

上传人: fkh4608 2022/4/5 文件大小:355 KB

下载得到文件列表

数据库实验报告.docx

文档介绍

文档介绍:《大型数据库技术及应用》实验报告 4
实验名称: PL/SQL 基础( 2)
专业班级: 姓名: 学号:
实 验 日 期: 年 月 日
一、 实验目的
1、掌握隐式游标
Select * from emp;
Begin
Open emp_cur;
Loop
Fetch emp_cur into empl;
(to_char());
Exit when emp_cur%rowcount=5;
End loop;
Close emp_cur;
End;
是否打开游标- %ISOPEN
例 5:
Declare
Empl emp%rowtype;
4
Cursor emp_cur is
Select * from emp;
Begin
If emp_cur%isopen then
Fetch emp_cur into empl;
(to_char());
Else
( ‘ emp_cur is not open ’);
Open emp_cur;
Loop
Fetch emp_cur into empl;
(to_char());
Exit when emp_cur%rowcount=5;
End loop;
Close emp_cur;
End if;
End;
/
3、参数化游标
在定义游标时可以带上参数, 使得在使用游标时, 根据参数不同所选中的结果集也不同,达到动态使用游标的目的。
例 6:
首先在 SQL/PLUS上输入下面的语句:
5
Accept dept_id prompt ‘please input the deptno: ’
说明: accept 是 SQL/PLUS的命令,不是 pl/sql 语句,类似于 c 语言的 cin ,该命令可以接受你的键盘输入到 dept_id 。
例 6:
Declare
Did %type:=&dept_id;
Empl emp%rowtype;
Cursor emp_cur(deptid number)is
Select * from emp where deptno=deptid;
Begin
Open emp_cur(did);
Loop
Fetch emp_cur into empl;
(to_char());
Exit when (emp_cur%rowcount=3) or (emp_cur%notfound) ;
End loop;
Close emp_cur;
End;
4、存储过程的创建及使用
所谓的存储过程就是存储在数据库中的过程, 该过程与数据库中的表、 视图一样属于数据库对象。
(1)语法
Create [or replace] procedure < 过程名 >
(< 参数 1>,[ 方式 1]< 数据类型 1>,
6
<参数 2>,[ 方式 2]< 数据类型 2>
)
Is|as
Pl/sql
(2) 例
例 7:
创建存储过程
Create or replace procedure dept_member_num
( in_deptno in %type)
As
Out_num number;
Begin
Select count(*) into out_num
From emp where deptno=in_deptno;