---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; /
------
------
------
相关推荐
openssh-8.6p1_rpm_packeage.zip
个人所用Python package
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-...
YOLOv8中加入CBAM注意力机制,适合目标检测方向新手小白对YOLOv8作出改进,开箱即用,上传不易,小伙伴拿走的同时请顺手一键三连哈
【资源概览】 高分项目 基于STM32单片机的语音导盲系统设计源代码+原理图+项目资料齐全+教程文档.zip高分项目 基于STM32单片机的语音导盲系统设计源代码+原理图+项目资料齐全+教程文档.zip高分项目 基于STM32单片机的语音导盲系统设计源代码+原理图+项目资料齐全+教程文档.zip 【资源说明】 高分项目源码:此资源是在校高分项目的完整源代码,经过导师的悉心指导与认可,答辩评审得分高达95分,项目的质量与深度有保障。 测试运行成功:所有的项目代码在上传前都经过了严格的测试,确保在功能上完全符合预期,您可以放心下载并使用。 适用人群广泛:该项目不仅适合计算机相关专业(如电子信息、物联网、通信工程、自动化等)的在校学生和老师,还可以作为毕业设计、课程设计、作业或项目初期立项的演示材料。对于希望进阶学习的小白来说,同样是一个极佳的学习资源。 代码灵活性高:如果您具备一定的编程基础,可以在此代码基础上进行个性化的修改,以实现更多功能。当然,直接用于毕业设计、课程设计或作业也是完全可行的。 欢迎下载,与我一起交流学习,共同进步!
HTML+CSS+JS精品网页模板,设置导航条、轮翻效果,鼠标滑动效果,自动弹窗,点击事件、链接等功能;适用于大学生期末大作业或公司网页的设计制作。响应式网页,可以根据不同的设备屏幕大小自动调整页面布局; 支持如Dreamweaver、HBuilder、Text 、Vscode 等任意html编辑软件进行编辑修改; 支持包括IE、Firefox、Chrome、Safari主流浏览器浏览; 下载文件解压缩,用Dreamweaver、HBuilder、Text 、Vscode 等任意html编辑软件打开,只需更改源代码中的文字和图片可直接使用。图片的命名和格式需要与原图片的名字和格式一致,其他的无需更改。如碰到HTML5+CSS+JS等专业技术问题,以及需要对应行业的模板等相关源码、模板、资料、教程等,随时联系博主咨询。 网页设计和制作、大学生网页课程设计、期末大作业、毕业设计、网页模板,网页成品源代码等,5000+套Web案例源码,主题涵盖各行各业,关注作者联系获取更多源码; 更多优质网页博文、网页模板移步查阅我的CSDN主页:angella.blog.csdn.net。
PVG800S-800mm皮带检测报告(TABG-ZXJ 2021-069).pdf
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
HTML+CSS+JS精品网页模板,设置导航条、轮翻效果,鼠标滑动效果,自动弹窗,点击事件、链接等功能;适用于大学生期末大作业或公司网页的设计制作。响应式网页,可以根据不同的设备屏幕大小自动调整页面布局; 支持如Dreamweaver、HBuilder、Text 、Vscode 等任意html编辑软件进行编辑修改; 支持包括IE、Firefox、Chrome、Safari主流浏览器浏览; 下载文件解压缩,用Dreamweaver、HBuilder、Text 、Vscode 等任意html编辑软件打开,只需更改源代码中的文字和图片可直接使用。图片的命名和格式需要与原图片的名字和格式一致,其他的无需更改。如碰到HTML5+CSS+JS等专业技术问题,以及需要对应行业的模板等相关源码、模板、资料、教程等,随时联系博主咨询。 网页设计和制作、大学生网页课程设计、期末大作业、毕业设计、网页模板,网页成品源代码等,5000+套Web案例源码,主题涵盖各行各业,关注作者联系获取更多源码; 更多优质网页博文、网页模板移步查阅我的CSDN主页:angella.blog.csdn.net。
【资源说明】 优秀项目 基于STM32F103单片机的无线测距系统源码+详细文档+全部数据资料.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
工作总结PPT15.pptx
TortoiseGit安装包和中文语言包
氢能行业深度报告之三:质子交换膜PEM市场空间广阔,国产替代进行时
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
【资源概览】 高分项目 基于STM32单片机+openCV的云台色彩追踪系统源代码+项目资料齐全+教程文档.zip高分项目 基于STM32单片机+openCV的云台色彩追踪系统源代码+项目资料齐全+教程文档.zip高分项目 基于STM32单片机+openCV的云台色彩追踪系统源代码+项目资料齐全+教程文档.zip 【资源说明】 高分项目源码:此资源是在校高分项目的完整源代码,经过导师的悉心指导与认可,答辩评审得分高达95分,项目的质量与深度有保障。 测试运行成功:所有的项目代码在上传前都经过了严格的测试,确保在功能上完全符合预期,您可以放心下载并使用。 适用人群广泛:该项目不仅适合计算机相关专业(如电子信息、物联网、通信工程、自动化等)的在校学生和老师,还可以作为毕业设计、课程设计、作业或项目初期立项的演示材料。对于希望进阶学习的小白来说,同样是一个极佳的学习资源。 代码灵活性高:如果您具备一定的编程基础,可以在此代码基础上进行个性化的修改,以实现更多功能。当然,直接用于毕业设计、课程设计或作业也是完全可行的。 欢迎下载,与我一起交流学习,共同进步!
NB-T51004-2012井巷揭煤地质说明书编制规范.pdf
工作总结PPT12.pptx
MT T 898-2000 煤炭电法勘探规范.pdf
决策树 基于 Python 实现的决策树预测波士顿房价
本文介绍打印机初步配置,以及实现方法。标签主要展示基本信息以及二维码。首先设置打印机纸张大小,纸张高宽度以实际标签为准,设置好后可打印测试页测试一下,以ZDesigner GX430t打印机为例。标签打印C#控制程序源代码,适合自己进行二次开发。软件可以自己编辑标签,可以自动条形码或二维码的位置。标签打印是现代物流和仓储管理中不可或缺的重要环节之一。在许多行业中,如物流、零售和制造业等,标签打印技术被广泛应用于追踪和管理货物、库存和资产。为了满足不同标签打印需求,许多开发者将目光投向了C#编程语言,并且通过自定义控制程序源代码的方式实现标签打印的二次开发。 C#是一种面向对象的高级编程语言,由微软公司开发并广泛应用于Windows系统和.NET框架。它具有强大的功能和灵活的语法结构,使得开发者能够轻松地处理各种复杂的任务。在标签打印的场景下,C#语言提供了丰富的库和工具,使得开发者能够方便地控制打印机、编辑标签布局和生成条形码或二维码等。