---Package
CREATE OR REPLACE PACKAGE TEST_PACKAGE is -- Author : -- Created : -- Purpose : /*================================================================================== * 功能描述: 写数据库日志 *=================================================================================*/ PROCEDURE INSERTlOG(log_person in VARCHAR2, log_class in VARCHAR2, log_method in VARCHAR2, log_info in VARCHAR2, log_error_code in VARCHAR2); END TEST_PACKAGE; / GRANT EXECUTE ON TEST.TEST_PACKAGE TO R_TEST_EXEC;
------Package Body
---Package body的模板 CREATE OR REPLACE PACKAGE BODY TEST_PACKAGE IS TYPE T_TEST_SEND_INFO IS RECORD( ID_TEST_SEND_INFO INF_WECHAT_SEND_INFO.ID_WECHAT_SEND_INFO%TYPE, ROW_ID ROWID ); TYPE TBL_TEST_SEND_INFO IS TABLE OF T_TEST_SEND_INFO INDEX BY BINARY_INTEGER; ----以行插入 PROCEDURE SAVE_TEST_SEND_INFO(V_TEST_SEND_INFO TBL_TEST_SEND_INFO, O_MSG OUT VARCHAR2) IS BULK_ERRORS EXCEPTION; PRAGMA EXCEPTION_INIT(BULK_ERRORS, -24381); BEGIN FORALL INDX IN INDICES OF V_TEST_SEND_INFO SAVE EXCEPTIONS INSERT INTO INF_TEST_SEND_INFO (ID_TEST_SEND_INFO, ROWID) VALUES (V_TEST_SEND_INFO(INDX).ID_TEST_SEND_INFO, V_TEST_SEND_INFO(INDX).ROW_ID); FORALL INDX IN INDICES OF V_TEST_SEND_INFO SAVE EXCEPTIONS DELETE FROM INF_TEST_SEND_INFO WHERE ROWID=V_TEST_SEND_INFO(INDX).ROW_ID; EXCEPTION WHEN BULK_ERRORS THEN IF O_MSG IS NULL THEN O_MSG := '插入到微信发送状态流水表异常' || SQLCODE || SUBSTR(SQLERRM, 1, 200); END IF; END SAVE_TEST_SEND_INFO; /************************************ ---批量将U数据添加到表中 ************************************/ PROCEDURE SAVE_TO_TEST_SEND_INFO(O_MSG OUT VARCHAR2) IS -- 游标行类型 VTBL_TEST_SEND_INFO TBL_TEST_SEND_INFO; -- 游标 CURSOR CS_TEST_SEND_INFO IS SELECT SYS_GUID() ID_TEST_SEND_INFO, ROWID ROW_ID FROM TEST_SEND_INFO I WHERE I.ID_TEST_SEND_INFO IS NOT NULL; BEGIN -- 打开游标 OPEN CS_TEST_SEND_INFO; <<LP_CL_MAIN>> LOOP FETCH CS_TEST_SEND_INFO BULK COLLECT INTO VTBL_TEST_SEND_INFO LIMIT 1000; -- 每1000行保存一次 SAVE_TEST_SEND_INFO(VTBL_TEST_SEND_INFO,O_MSG); COMMIT; -- 每1000行提交一次 EXIT LP_CL_MAIN WHEN CS_TEST_SEND_INFO%NOTFOUND; END LOOP LP_CL_MAIN; -- 关闭游标 CLOSE CS_TEST_SEND_INFO; END SAVE_TO_TEST_SEND_INFO; ----插入日志 PROCEDURE INSERTlOG(log_person in VARCHAR2, log_class in VARCHAR2, log_method in VARCHAR2, log_info in VARCHAR2, log_error_code in VARCHAR2) is logPerson varchar2(100); begin IF (log_person IS NULL) THEN logPerson := 'SYSTEM'; ELSE logPerson := log_person; END IF; insert into TEST.TEST_COMM_LOG (ID_COMM_LOG, LOG_PERSON, LOG_CLASS, LOG_METHOD, LOG_INFO, LOG_ERROR_CODE, LOG_TIME) values (SYS_GUID(), logPerson, log_class, log_method, log_info, log_error_code, sysdate); commit; end; END TEST_PACKAGE; /
----triger
--创建数据时CREATED_BY,CREATED_DATE,UPDATED_BY,UPDATED_DATE自动赋值 CREATE OR REPLACE TRIGGER BUSSINESS_BI BEFORE INSERT ON TEST_BUSSINESS FOR EACH ROW DECLARE V_TRIGGER_USER_CREATED VARCHAR2(100); V_TRIGGER_USER_UPDATED VARCHAR2(100); V_TRIGGER_DATE DATE; V_STATUS TEST.TR_SWITCH.STATUS%TYPE; CURSOR C_SWITCH(CP_SWITCH TEST.TR_SWITCH.SWITCH_FOR%TYPE) IS SELECT STATUS FROM PADINFODATA.TR_SWITCH WHERE TRIGGER_NAME = 'INF_BUSSINESS_BI' AND SWITCH_FOR = CP_SWITCH; V_SQLCODE VARCHAR2(6); V_SQLERRM VARCHAR2(200); V_ERROR_COMMENT VARCHAR2(300); BEGIN V_ERROR_COMMENT := 'BEFORE GET_USER'; --SET CREATED_BY IF :NEW.CREATED_BY IS NULL THEN V_TRIGGER_USER_CREATED := USER; ELSE V_TRIGGER_USER_CREATED := :NEW.CREATED_BY; END IF; --SET UPDATED_BY IF :NEW.UPDATED_BY IS NULL THEN V_TRIGGER_USER_UPDATED := V_TRIGGER_USER_CREATED; ELSE V_TRIGGER_USER_UPDATED := :NEW.UPDATED_BY; END IF; V_TRIGGER_DATE := SYSDATE; --需求来源:表中记录的审计字段信息的更新 --功能描述:用于保证审计信息的完整性 和一致性 V_ERROR_COMMENT:='BEFORE NETS_INSERT_AUDIT'; OPEN C_SWITCH('NETS_INSERT_AUDIT'); --获取子功能控制信息 FETCH C_SWITCH INTO V_STATUS; IF C_SWITCH%FOUND AND V_STATUS = '1' THEN :NEW.CREATED_DATE := V_TRIGGER_DATE; :NEW.UPDATED_DATE := V_TRIGGER_DATE; :NEW.CREATED_BY := V_TRIGGER_USER_CREATED; :NEW.UPDATED_BY := V_TRIGGER_USER_UPDATED; END IF; CLOSE C_SWITCH; --出错处理。触发器执行有误,将出错信息插入到tr_error_log表 EXCEPTION WHEN OTHERS THEN V_SQLCODE := SQLCODE; V_SQLERRM := SUBSTR(SQLERRM,1,200); INSERT INTO TEST.TR_ERROR_LOG (ERROR_NO , --系统错误代码 ERROR_MESSAGE , --系统错误信息 TRIGGER_NAME , --出错的trigger TRIGGER_USER , --出错的用户 TRIGGER_DATE , --出错的时间 ERROR_COMMENT --出错详细信息 ) VALUES (V_SQLCODE, V_SQLERRM, 'INF_BUSSINESS_BI', V_TRIGGER_USER_CREATED, V_TRIGGER_DATE, V_ERROR_COMMENT ); END; /
------
------
------
相关推荐
总之,"oracle-jar-packeage.rar_oracle"提供的Oracle连接包是Java应用程序与Oracle数据库通信的关键,它简化了数据库连接的步骤,使开发者能够方便地利用Java实现对Oracle数据库的操作。在使用过程中,应注意选择...
【Python package】是一个个人使用的Python库集合,包含了多个在Python编程中常用的库,适用于Windows操作系统。这个集合展示了Python在处理不同任务时的强大扩展性。让我们逐一解析这些库的功能和应用场景。 1. **...
packeage.json { " devDependencies " : { " babel-eslint " : " 9.0.0 " , " eslint " : " ^5.16.0 " , " eslint-config-cleo-one " : " ^1.0.0 " , " eslint-config-prettier " : " ^4.1.0 " , " eslint-...
Python自动化办公源码-34 Python批量新建文件夹并保存日志信息
粒子滤波算法在目标跟踪中的实践与源码解析集合:多套系统源码包括基于meanshift的应用、MATLAB实现及与卡尔曼滤波比较,粒子滤波(器)滤波(器)及应用源码集合目标跟踪提取图像特征 以下多套系统源码 1、基于meanshift和粒子滤波的目标跟踪代码 2、MATLAB编写的粒子滤波器的源代码 3、粒子滤波算法实例 4、粒子滤波mcmc介绍 5、粒子滤波算法 matlab(粒子滤波用于剩余寿命预测的实例代码 MATLAB语言编写 附有详细代码说明) 6、粒子滤波matlab代码(能够运行。 Pf粒子滤波实现的目标跟踪程序,可实现针对非高斯噪声情况下的跟踪) 7、粒子滤波代码(三个粒子滤波的演示程序,一个滤波,一个目标跟踪,一个机器人定位) 8、发个Matlab实现粒子滤波算法的程序 9、粒子滤波的简介和5中matlab程序仿真 10、粒子滤波代码与卡尔曼做比较(这是用于目标跟踪的粒子滤波代码, 用matlab编写的,很有借鉴性,一维情况下, 非高斯非线性,其中将扩展卡尔曼滤波与粒子滤波进行比较,更好的说明了粒子滤波的优越性) 11、EKF,UKF和PF粒子滤波的性能(对比分析EKF
项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql8.0 部署环境:Tomcat(建议用 7.x 或者 8.x 版本),maven 数据库工具:navicat
西门子PLC与三菱变频器通讯程序:触摸屏控制变频器实现精准频率调节与实时监控,西门子1200 PLC与3台三菱E700变频器通讯程序 器件:西门子1200 PLC,3台三菱E700变频器,西门子KTP700 Basic Pn触摸屏,昆仑通态触摸屏(带以太网),中途可以加路由器 控制方式:触摸屏与plc以太网通讯,PLC与变频器通讯485口相连 功能:触摸屏控制变频器设定频率,启停,读取输出频率,电压 说明:是程序,非硬件。 程序有注释,西门子触摸屏程序,昆仑通态程序,变频器设置,接线都有,一应俱全 ,核心关键词:西门子1200 PLC; 三菱E700变频器; 通讯程序; 触摸屏控制; 设定频率; 启停; 读取输出频率; 电压; PLC与变频器485口相连; 程序注释; 西门子触摸屏程序; 昆仑通态程序; 变频器设置; 接线。,基于西门子PLC与三菱变频器通讯的控制系统程序
Python自动化办公源码-35Python从Excel表中批量复制粘贴数据到新表
本项目为基于Spring Boot和Vue框架构建的出租车管理系统源码,总计包含118个文件,涵盖99个Java源文件、15个XML配置文件、1个Git忽略文件、1个JAR包文件以及1个Markdown文件。该系统采用Java语言开发,适用于出租车行业的智能化管理需求。
基于滑膜与PID控制的分布式电动汽车动态载荷分配与操稳控制优化策略,滑膜+pid+上层设计下层平均分配 优化分配 动态载荷分配,分布式电动汽车操稳控制 本研究在matlab simulink建立七自由度轮毂电机驱动汽车模型,使用滑膜联合控制以及pid控制实现转向过程中质心侧偏角,橫摆角速度,滑转率稳定性控制, ,关键词:滑膜控制; PID控制; 七自由度轮毂电机驱动汽车模型; 联合控制; 稳定性控制; 动态载荷分配; 操稳控制; 分布式电动汽车。,"基于滑膜与PID控制的分布式电动汽车操稳控制与动态载荷分配研究"
单相PWM整流器两种控制策略仿真研究:PR控制器与PI控制器的应用及性能分析,单相PWM整流器两种控制策略实现(交流220V-直流350V整流)仿真,分别采用直接电流控制(PR控制器)与dq控制(PI控制器)实现,两个仿真动稳态性能良好,附带仿真介绍文档,详细讲述仿真搭建过程,并附带参考文献与原理出处,内容详实,适合电力电子入门仿真参考。 ,核心关键词:单相PWM整流器;控制策略;直接电流控制(PR控制器);虚拟dq控制(PI控制器);仿真动稳态性能;仿真介绍文档;仿真搭建过程;参考文献;原理出处;电力电子入门仿真参考。,《单相PWM整流器仿真:直接电流与虚拟dq控制策略对比解析》
chromedriver-win64-125版本所有资源打包:125.0.6368.0 -125.0.6422.78之间的所有版本打包下载
项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql8.0 部署环境:Tomcat(建议用 7.x 或者 8.x 版本),maven 数据库工具:navicat
IEEE69节点系统Simulink仿真模型:潮流计算与故障分析及分布式电源影响观察,IEEE69节点系统Simulink仿真 1.基础功能:基于Matlab simulink平台搭建IEEE33节点仿真模型,对电力系统进行潮流计算 2.拓展功能: 可在该IEEE69节系统仿真模型上进行故障分析(短路,断线等),也可以在该模型上接入分布式电源,观察分布式电源接入对系统的影响。 ,IEEE69节点系统Simulink仿真; Matlab Simulink平台; 潮流计算; 故障分析; 分布式电源接入影响; 短路分析; 断线分析。,Matlab Simulink中IEEE 69节点系统仿真:功能扩展与分布式电源接入影响分析
2025最新人工智能与健康题库及答案.docx
蛇优化算法SO优化LSSVM的c和g参数在多输入单输出下的拟合预测建模——Matlab程序实现与结果展示,蛇优化算法SO优化支持向量机LSSVM的c和g参数做多输入单输出的拟合预测建模。 程序内注释详细直接替数据就可以使用。 程序语言为matlab。 程序直接运行可以出拟合预测图,迭代优化图,线性拟合预测图,多个预测评价指标。 PS:以下效果图为测试数据的效果图,主要目的是为了显示程序运行可以出的结果图,具体预测效果以个人的具体数据为准。 2.由于每个人的数据都是独一无二的,因此无法做到可以任何人的数据直接替就可以得到自己满意的效果。 ,蛇优化算法; SO优化; 支持向量机; LSSVM; c和g参数; 多输入单输出; 拟合预测建模; MATLAB程序; 拟合预测图; 迭代优化图; 线性拟合预测图; 预测评价指标。,基于蛇优化算法与SO优化的LSSVM多输入单输出预测建模及可视化工具
系统旨在为了帮助鸟类爱好者、学者、动物保护协会等群体更好的了解和保护鸟类动物。用户群体可以通过平台采集野外鸟类的保护动物照片和视频,甄别分类、实况分析鸟类保护动物,与全世界各地的用户,沟通交流。使用方法请参考文章:https://blog.csdn.net/m0_64027967/article/details/145266648
http和https的区别?【http和https有什么区别?实现网站https化-让网站更安全!简介】 内容概要: 本文为初学者提供了一个全面的学习指南,通过通俗易懂的语言,介绍了http和https的区别,以及如何实现网站https化。本文旨在帮助读者理解网站安全性的重要性,并掌握网站https化的实现方法。 适用人群: 本篇文章主要面向初学者,特别是那些对网络安全感兴趣的读者。它为读者提供了一个实用的指南,帮助他们了解网站安全的基本概念和方法。 使用场景及目标: 本篇文章适用于那些想要提高自己网站安全性的读者。它的目标是帮助读者理解https的作用,掌握实现网站https化的方法和步骤,从而保护自己的网站和用户的安全。 其他说明: 文章采用通俗易懂、口语化的语言风格,旨在让读者轻松理解并吸收内容。同时,文章还强调了实际操作的重要性,鼓励读者亲自动手实践,提高自己的网络安全技能。最后,文章鼓励读者保持积极的心态,将网络安全作为一项重要的技能进行学习和实践。
基于FATFS系统的STM32F407 SD卡升级Bootloader程序:自动检测与升级流程,stm32f407 SD卡升级 bootloader程序 基于sdio fatfs系统的stm32 bootloader程序 功能简介: 本程序使用fatfs系统读取bin文件。 开机后会自动检测sd卡,检测到sd卡后,再读取固定名称的bin文件,之后会对bin文件进行首包校验,判断该升级包的起始地址是否正确,正确的话,就循环读取bin文件并写入到flash中。 完成升级。 详细流程请看流程图 ,stm32f407; SD卡升级; bootloader程序; fatfs系统读取bin文件; 检测SD卡; 首包校验; 循环写入flash。,STM32F407 SD卡升级Bootloader程序:基于SDIO FATFS系统实现自动升级功能
Python自动化办公源码-16从Excel总表中分割10个部门的年假数据