资源描述:
《实验6过程_函数和程序包》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用文档实验6 过程、函数和程序包姓名:学号:专业:软件工程(金融)班级:同组人:无实验日期:2013/7/19【实验目的与要求】n掌握过程的创建与调用n掌握PL/SQL函数的编写与调用n熟悉程序包的使用【实验内容与步骤】6.0.实验准备工作:PL/SQL程序文件的编辑与执行1.使用文档编辑器编辑以下文件,并保存为aa.sql:2.以scott身份登录,在SQLPlus中执行@aa命令运行程序:注:测试时,文件名请用全名(即包含路径,如:@c:aa)给出运行结果:6.1.存储过程文案大全实用文档1.最简单的存储过程编写与执行(1)创建测试表droptableExam_T
2、able;createtableExam_Table(e_idnumber(5),e_namevarchar2(20),e_salarynumber(8,2));(2)创建存储过程createorreplaceprocedureinsert_salary(v_idnumber,v_namevarchar2,v_salarynumber)isbegininsertintoExam_Tablevalues(v_id,v_name,v_salary);commit;dbms_output.put_line('数据插入成功');end;/(3)执行(调用)存储过程execinse
3、rt_salary(6,'g',2000);(4)查询执行结果select*fromExam_Table;给出执行的最后结果:2.参数的使用:in/out/inout参数阅读以下程序,理解不同类型参数使用的不同,运行程序,给出运行结果。(1)用两个参数:in,out传入一个姓名,输出:某某人你好:createorreplaceproceduremp(v_invarchar2,v_outoutvarchar2)isbeginv_out:=v_in
4、
5、'你好';end;declarev_namevarchar2(10);beginmp('scott',v_name);dbms
6、_output.put_line(v_name);文案大全实用文档end;--输出:scott你好给出运行结果:(2)--inout类型参数createorreplaceproceduremp(name_ininvarchar2,name_outoutvarchar2,name_in_outinoutvarchar2)isbegindbms_output.put_line(name_in);name_out:='返回的参数name_out是'
7、
8、name_in;name_in_out:='name_in_out是'
9、
10、name_in
11、
12、name_in_out;end;给出
13、运行结果:文案大全实用文档(3)定义一个返回多个值的存储过程。createorreplaceprocedurep_test(nameoutvarchar2,ageoutnumber,sexoutvarchar2,saloutnumber)isbeginname:='scott';age:=26;sex:='男';sal:=8000;end;declarev_namevarchar2(20);v_agenumber(10);v_sexvarchar2(5);v_salnumber(10);beginp_test(v_name,v_age,v_sex,v_sal);dbms_
14、output.put_line(v_name);dbms_output.put_line(v_age);dbms_output.put_line(v_sex);dbms_output.put_line(v_sal);end;给出运行结果:3.练习:根据测试表完成下列程序的编写,并给出测试结果:(1)已知有如下表和相应的数据,请根据要求完成实验。createtabledepartments(DEPARTMENT_IDNUMBER(4)primarykey,DEPARTMENT_NAMEVARCHAR2(30),MANAGER_IDNUMBER(6),LOCATION_IDN
15、UMBER(4));insertintodepartmentsvalues(1,'技术部',1,1);insertintodepartmentsvalues(2,'人事部',2,2);insertintodepartmentsvalues(3,'市场部',3,3);insertintodepartmentsvalues(4,'财务部',4,4);文案大全实用文档根据上表结构编写存储过程,实现以下功能,并给出测试结果。1)根据指定的部门更新指定部门名(DEPARTMENT_NAME)的管理者(MANAGER_ID)id。2)根据