当前位置: 首页 > news >正文

Oracle创建存储过程,创建定时任务

在Oracle数据库中,创建存储过程和定时任务(也称为调度任务)是常见的数据库管理任务。以下是创建存储过程和定时任务的步骤和说明。

创建存储过程

创建存储过程的sql脚本

create or replace procedure 存储过程名称...
is
begin脚本逻辑...
COMMIT;
end;

脚本示例,将user表的数据插入到account表(注:这里我示例的两个表字段都是一样的,所以可以直接插,不一样的话需要调整一下insert语句)

create or replace procedure account_procedure
is
begindelete from account;insert into account
select * from user;
COMMIT;
end;

调用存储过程


--BEGIN--存储过程名称
--END
--示例
BEGINACCOUNT_PROCEDURE
END

删除存储过程

--DROP PROCEDURE 存储过程名称;
DROP PROCEDURE account_procedure;

创建定时任务

DBMS_JOB创建定时任务的脚本。

DECLAREjob_id NUMBER;
BEGIN-- 创建定时任务SYS.DBMS_JOB.SUBMIT(job       => job_id,what      => 'ACCOUNT_PROCEDURE;', -- 要执行的PL/SQL代码或存储过程next_date => TRUNC(SYSDATE, 'DD') + 11/24, -- 下次执行时间为今天11点interval  => 'TRUNC(SYSDATE + 1, ''DD'') + 11/24', -- 每天11点执行no_parse  => TRUE);-- 输出确认信息DBMS_OUTPUT.PUT_LINE('Job Number is: ' || TO_CHAR(job_id));-- 提交事务COMMIT;
EXCEPTIONWHEN OTHERS THEN-- 如果发生错误,输出错误信息DBMS_OUTPUT.PUT_LINE('创建定时任务时发生错误: ' || SQLERRM);
END;

删除定时任务的sql脚本

DECLAREjob_id NUMBER;
BEGIN-- 查询 job_idSELECT jobINTO job_idFROM user_jobsWHERE what = 'ACCOUNT_PROCEDURE;';-- 删除定时任务DBMS_JOB.REMOVE(job_id);-- 输出确认信息DBMS_OUTPUT.PUT_LINE('定时任务 ' || TO_CHAR(job_id) || ' 已成功删除。');
EXCEPTIONWHEN NO_DATA_FOUND THEN-- 如果没有找到任务,输出错误信息DBMS_OUTPUT.PUT_LINE('没有找到匹配的定时任务。');WHEN OTHERS THEN-- 如果发生其他错误,输出错误信息DBMS_OUTPUT.PUT_LINE('删除定时任务时发生错误: ' || SQLERRM);
END;

http://www.lryc.cn/news/475977.html

相关文章:

  • <HarmonyOS第一课>应用/元服务上架的课后习题
  • 【Python】探索函数的奥秘:从基础到高级的深度解析(下)
  • ima.copilot:智慧因你而生
  • Vue-$el属性
  • LLC Power Switches and Resonant Tank 笔记
  • Python 如何在 Web 环境中使用 Matplotlib 进行数据可视化
  • C#-数组:一维数组、二维数组、交错数组
  • 动态规划应该如何学习?
  • 【力扣 + 牛客 | SQL题 | 每日4题】牛客SQL热题210,213,212,219
  • Qt 应用开发之 MVC 架构
  • python之字符串总结
  • Flutter鸿蒙next 封装 Dio 网络请求详解:登录身份验证与免登录缓存
  • sql server复制一张表(表结构或表数据)SQL语句整理
  • c语言-进位计数制
  • 记本地第一次运行seatunnel示例项目
  • Threejs 实现 VR 看房完结
  • 找出目标值在数组中的开始和结束位置(二分查找)
  • VSCode进阶之路
  • leetcode-21-合并两个有序链表
  • SSM项目部署到服务器
  • 【Linux】网络编程:初识协议,序列化与反序列化——基于json串实现,网络通信计算器中简单协议的实现、手写序列化与反序列化
  • Educational Codeforces Round 171 (Rated for Div. 2)(A~D) 题解
  • 【教程】Git 标准工作流
  • Nico,从零开始干掉Appium,移动端自动化测试框架实现
  • PHP合成图片,生成海报图,poster-editor使用说明
  • 微信小程序 - 数组 push / unshift 追加后数组返回内容为数字(数组添加后打印结果为 Number 数值类型)
  • 1、DevEco Studio 鸿蒙仓颉应用创建
  • 从头开始学PHP之面向对象
  • C++ | Leetcode C++题解之第519题随机翻转矩阵
  • vrrp和mstp区别