PLSQL编程基础
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
淮海工学院计算机工程学院实验报告书
课程名:《大型数据库概论》
题目:PL/SQL编程基础
班级:*********
学号:***********
姓名:**********
实验2 PL/SQL编程基础
实验目的
1.掌握PL/SQL基础,包括PL/SQL语句块、变量、常用数据类型、运算符和表达式。
2. 掌握PL/SQL控制结构,包括顺序、选择、NULL和循环四种结构及GOTO语句。
3. 掌握PL/SQL中游标的使用方法。
4. 掌握SQL *Plus和Worksheet开发环境的使用方法。
实验环境
局域网,windows 2003
实验学时
2学时,必做实验。
实验内容
1. 编写一个PL/SQL程序块,计算100以内的奇数和。
2. 编写PL/SQL块计算并输出S=1!+2!+…+10!。
3.编写一个PL/SQL块用于计算两个正整数的最大公约数。
4.编写一个PL/SQL程序块,使用游标对一个数据库表中的数据进行查询。
实验步骤
1、选择“开始”→“所有程序”→Oracle-OraHome92→Application Development→SQL
Plus
2、系统出现“登录”对话框。输入用户名为“scott”、口令为“tiger”、主机字符串
为“school”。
3、单击“确定”按钮,出现“SQL *Plus的工作窗口”。
4、编写PL/SQL程序。
4.1、编写一个PL/SQL程序块,计算100以内的奇数和。
set serveroutput on;
declare
p integer;
m integer;
n integer;
begin
m:=2;
n:=0;
for p in 1..100 loop
if p mod m<>0 then
n:=n+p;
end if;
end loop;
dbms_output.put_line(n);
end;
/
4.2、编写PL/SQL块计算并输出S=1!+2!+…+10!。
set serveroutput on;
declare
m integer;
n integer;
p integer;
begin
p:=0;
n:=1;
for m in 1..10 loop
n:=n*m;
p:=p+n;
end loop;
dbms_output.put_line(p);
end;
/
实验说明
该工作窗口中显示了SQL *Plus的版本、启动时间、版权信息以及与服务器建立连接的提示信息。它是一个文本编辑窗口,可进行PL/SQL程序的编辑。
实验结果
分析与思考
1、PL/SQL语句块的分类及构成有哪些?
答:PL/SQL语句块分匿名(anonymous)块和命名(named)块两种。
PL/SQL语句块一般包含三个部分:声明部分、执行部分和异常处理部分。
2、%TYPE和%ROWTYPE的使用方法有何不同?
答:%TYPE:PL/SQL变量可用来处理数据库表中的数据,该变量必须拥有与数据库表列相同的类型。
%ROWTYPE:实际应用中,经常要将PL/SQL中的一个记录类型声明为对应于一个
数据库表的数据行,如果该表有若干列,则声明记录时就需要若
干行,这样的记录声明非常烦琐。为此,PL/SQL提供了%ROWTYPE
运算符。
3、简述PL/SQL游标的概念、属性和使用方法各有什么特色?
答:(1)游标(Cursor):是Oracle9i的一种内存结构,用来存放SQL语句或程序
执行后的结果。
(2)游标有四个属性:%FOUND、%NOTFOUND、%ISOPEN和%ROWCOUNT。
(3)1.%FOUND:若当前FETCH语句成功取出一行数据,则%FOUND返回TRUE;
否则返回FALSE。该属性可以用来判断是否应关闭游标,在
循环结构中常用该属性决定循环的结束。
2.%NOTFOUND:与%FOUND的意义正好相反。
3.%ISOPEN:当游标已经打开且尚未关闭时,%ISOPEN返回TRUE。该属性
可以用来判断游标的状态。
4.%ROWCOUNT:%ROWCOUNT返回游标已检索的数据行个数。
实验感想
这次实验了解了PL/SQL基础,包括PL/SQL语句块、变量、常用数据类型、运算符和表达式。PL/SQL是Oracle9i在标准SQL基础上扩展的一种过程化数据库编程语言,既具有标准SQL语言的简洁性,又具有过程语言的灵活性,体现了Oracle9i数据库的特点。实验中对PL/SQL控制结构,包括顺序、选择、NULL和循环四种结构及GOTO语句有了进一步的熟悉。