欢迎来到天天文库
浏览记录
ID:17456170
大小:28.78 KB
页数:27页
时间:2018-09-01
《oracle 存储过程实战》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ORACLE存储过程实战ORACLE存储过程实战--定义获取部门ID的函数createorreplacefunctionGet_Dept_Id(in_Dept_nameinvarchar2)returnintegerasv_dept_idinteger:=1;beginsELECTdept_idintov_dept_idFROMdict_deptsWHEREDEPT_NAME=in_Dept_name;returnv_dept_id;exceptionwhenno_data_foundthenv_dept_
2、id:=1;returnv_dept_id;whenothersthenv_dept_id:=1200;--糯扎渡项目部将返回2条记录,在此处捕获并重新赋值returnv_dept_id;endGet_Dept_Id;--定义获取单位ID的函数createorreplacefunctionGet_Unit_Id(in_unit_nameinvarchar2)returnintegerasv_unit_idinteger:=1;beginSELECTidintov_unit_idFROMins_unit_di
3、ctWHERENAME=in_unit_name;returnv_unit_id;exceptionwhenno_data_foundthenv_unit_id:=1;returnv_unit_id;endGet_Unit_Id;--存储过程定义代码/*调用注意事项:目标表的数据列的数据类型必须符合下述规定:设备名称varchar2;规格型号varchar2;原值number(22,4)/varchar2;静值number(22,4)/varchar2;使用单位varchar2/varchar2;分类var
4、char2;单位varchar2;*//*参数说明:in_math_type:机具类型in_OWNER_NAME:产权单位in_Self_Code_pre:自编号前缀*/createorreplaceproceduresub_mach_trans(in_math_typeininteger,in_OWNER_NAMEinvarchar2,in_Self_Code_preinvarchar2)istypet_target_DataISREFCURSOR;--目标数据类型v_CursorVart_target_
5、Data;--定义类型游标--可以从目标表中获取的变量v_MACH_NAME项目部机具.设备名称%TYPE;--机具名称;v_MACH_SPEC项目部机具.规格型号%TYPE;--规格型号;v_ORIGINAL_VALUE项目部机具.原值%TYPE;--机具原值v_CUR_VALUE项目部机具.净值%TYPE;--机具净值v_CUR_USED_DEPTID_name项目部机具.使用单位%TYPE;--使用单位名称v_VALUE_TYPE项目部机具.分类%TYPE;--机具价值分类v_MACH_UNIT_NA
6、ME项目部机具.单位%TYPE;--计量单位名称v_ID项目部机具.序号%TYPE;--序号v_COMMENTS项目部机具.备注%TYPE;--备注信息v_AMORTISE_PRICE项目部机具.十月摊销%TYPE;--摊销单价--需要计算或定义的变量v_CUR_USED_DEPTIDinteger;--使用部门编号v_MACH_UNITinteger;--计量单位编号v_MACH_BASE_TYPEinteger:=2;--基础设备类型v_SELF_CODEvarchar2(50):='';--自编号v_
7、CUR_STATEinteger;--当前状态v_Value_Type_numinteger:=0;--价值分类数值表述变量v_Record_cur_indexinteger;--当前记录Idv_HANDOVER_Counterinteger:=1;--领用记录计数器--系统调试用变量S_Process_Counterinteger:=0;--系统异常对象SYS_DEBUG_EXCEXCEPTION;v_ErrorCodeNUMBER;--出错的代码v_ErrorMsgVARCHAR2(200);--错误的
8、消息显示v_CurrentUserVARCHAR2(8);--当前数据库用户v_InformationVARCHAR2(100);--关于错误的信息begin--读取数据OPENv_CursorVarFORSELECT设备名称,规格型号,原值,净值,使用单位,分类,单位,序号,备注,十月摊销FROM项目部机具orderby序号;--遍历数据LOOP--从游标中提取记录值赋予制定变量FETCHv_CursorVar
此文档下载收益归作者所有