实验目的
1、掌握PL/SQL的数据结构和编程结构,掌握应用PL/SQL编写简单程序的方法 2、理解存储过程的概念,掌握编写存储过程的方法 3、理解函数的概念,掌握编写存储过程的方法
实训内容
一、PL/SQL编程基础
1、pl/sql的组成
声明块(DECLARE)、执行块(BEGIN和END包裹)、异常处理块(EXCEPTION)
2、编制代码实现1+2+...+100的计算
----自定义函数,如何将pl/sql中函数的改变后的参数带回原函数:用“in out”
create or replace procedure swap(startN in out int , endN in out int)
as
temp int;
begin
temp:=startN;
startN:=endN;
endN :=temp;
end;
DECLARE
-- 声明块
startNum int;
endNum int;
i int;
sumNum int;
BEGIN
-- 执行块
startNum :=1;
endNum :=100;
if startNum > endNum then
swap(startNum, endNum);
end if;
sumNum :=0;
i := startNum;
while i<=endNum loop
sumNum:=sumNum+i;
i:=i+1;
end loop;
dbms_output.put_line('结果是:'||sumNum);
EXCEPTION
-- 异常处理块
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('An error occurred');
END;
二、存储过程编程
1、存储过程的概念
procedure 存储过程,存储在数据库中的不带返回值的命名PL/sql程序块,(可以反复使用复杂操作,并提高执行效率)
2、存储过程的语法
create or replace procedure procedureName(parm parmType)
as
local varible defination
begin
procedure body;
end;
3、编写代码
3.1、求1+2+...+100的结果并显示的存储过程
create or replace procedure sp_calcSum
as
sta