Oracle定时任务和存储过程

javascript 复制代码
--1.声明定时任务
DECLARE
   job NUMBER;
BIGIN
dbms_job.sumit(
   job,           --任务ID,系统定义的
   'test_prcedure(19)',--调用存储过程?
   to_date('20240305 02:00','yyyymmdd hh24:mi') --任务开始时间
   'sysdate+1/(24*60)'   --任务执行周期 [每分钟执行一次]
);
COMMIT;
END;

--2.定义存储过程
CREATE OR REPLACE procedure test_prcedure(in_num number) IS
BEGIN
	dbms_output_put_line(in_num) --打印输出19,当然它实际应该是一些列增删改操作
END

分支语句

循环语句

游标操作(类比集合)

java调用存储过程

java 复制代码
package com.dj.springtest.demo;

import java.sql.*;

/**
 * User: ldj
 * Date: 2024/3/4
 * Time: 23:48
 * Description: java调用存储过程
 */
public class CallProcedureDemo {

    public static void main(String[] args) throws Exception {
        Connection connection = null;
        CallableStatement callableStatement = null;
        try {
            //加载驱动
            Class.forName("oracle.jdbc.driver.OracleDriver");
            //通过驱动管理器获取连接对象
            String url = "jdbc:oracle:thin:@localhost:1521:xe";
            String username = "root";
            String password = "123456";
            connection = DriverManager.getConnection(url, username, password);

            //拼接sql脚本,调用存储过程(test_procedure)有1个入参,1个出参
            String sql = "{call test_procedure(?,?)}";
            callableStatement = connection.prepareCall(sql);

            //设置入参和出参
            callableStatement.setInt(1, 18);
            callableStatement.registerOutParameter(2, JDBCType.DOUBLE);

            //执行sql
            callableStatement.execute();

            //获取结果
            System.out.println(callableStatement.getDouble(2));
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //关闭连接
            if (callableStatement != null) {
                callableStatement.close();
            }
            if (connection != null) {
                connection.close();
            }
        }
    }
}
相关推荐
山岚的运维笔记13 分钟前
SQL Server笔记 -- 第20章:TRY/CATCH
java·数据库·笔记·sql·microsoft·sqlserver
Gain_chance16 分钟前
33-学习笔记尚硅谷数仓搭建-DWS层交易域用户粒度订单表分析及设计代码
数据库·数据仓库·hive·笔记·学习·datagrip
未来之窗软件服务43 分钟前
计算机等级考试—高频英语词汇—东方仙盟练气期
数据库·计算机软考·东方仙盟
lekami_兰1 小时前
MySQL 长事务:藏在业务里的性能 “隐形杀手”
数据库·mysql·go·长事务
蚕豆哥1 小时前
【2026马年重启】我的 Primavera P6/Unifier 技术笔记,继续更新!
ai·oracle·项目管理·unifier·p6·进度管理·甲骨文
JQLvopkk1 小时前
C# 轻量级工业温湿度监控系统(含数据库与源码)
开发语言·数据库·c#
devmoon2 小时前
在 Polkadot Runtime 中添加多个 Pallet 实例实战指南
java·开发语言·数据库·web3·区块链·波卡
认真的薛薛2 小时前
数据库-sql语句
数据库·sql·oracle
爱学英语的程序员3 小时前
面试官:你了解过哪些数据库?
java·数据库·spring boot·sql·mysql·mybatis
·云扬·4 小时前
MySQL Redo Log落盘机制深度解析
数据库·mysql