Java调用Oracle存储过程

这篇具有很好参考价值的文章主要介绍了Java调用Oracle存储过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Java调用Oracle存储过程

0、序言

使用Java实现存储过程的步骤:
1、创建数据表、存储过程
2、引入依赖包、配置数据源
3、Java代码实现“存储过程调用”

1、创建数据表、存储过程

(1)创建数据表

-- Oracle 创建数据表
CREATE TABLE STUDENT (
  ID NUMBER (20) NOT NULL ENABLE PRIMARY KEY,
  NAME VARCHAR2 (32) DEFAULT NULL,
  SEX NUMBER (11) DEFAULT NULL,
  AGE NUMBER (11) DEFAULT NULL
);

(2)创建存储过程(Oracle 存储过程与游标sys_refcursor的结合使用)

--创建存储过程,用于分页查询
--传入参数:pageNo 查询的页码,pageSize 每页的条数;输出参数:vrows 使用一个引用游标用于接收多条结果集。普通游标无法做到,只能使用引用游标
create or replace procedure pro_query_emp_limit(pageNo in number,pageSize in number,vrows out sys_refcursor) is
begin
  --存储过程中只进行打开游标,将 select 查询出的所有数据放置到 vrows 游标中,让调用着进行获取
open vrows for select t.empno,t.ename,t.job,t.mgr,t.hiredate,t.sal,t.comm,t.deptno from (select rownum r,t1.* from scott.emp t1) t 
     where t.r between ((pageNo-1) * pageSize+1) and pageNo * pageSize;
end;
/




--数据库中使用引用游标读取上面的存储过程返回的值。下面只是加深理解,和 java 调用无关
declare
     vrows sys_refcursor ;--声明引用游标
     vrow scott.emp%rowtype; --定义变量接收遍历到的每一行数据
begin
     pro_query_emp_limit(4,3,vrows);--调用存储过程
     loop 
       fetch vrows into vrow; -- fetch into 获取游标的值
       exit when vrows%notfound; -- 如果没有获取到值,则退出循环
       dbms_output.put_line('编号:'|| vrow.empno || ' 姓名:'|| vrow.ename || ' 薪水:'|| vrow.sal);
     end loop;
end;
/

Oracle 存储过程与游标的相关知识点

(1)Oracle 创建存储过程的示例:文章来源地址https://www.toymoban.com/news/detail-403554.html

-- 创建Oracle存储过程
CREATE OR REPLACE PROCEDURE testpro
	(num_id IN NUMBER, 
	rowVar_student OUT student%ROWTYPE) IS
BEGIN
	SELECT * into rowVar_student FROM student where id=num_id;
	dbms_output.put_line

到了这里,关于Java调用Oracle存储过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Oracle存储过程~封神之作

    Oracle 存储过程是 Oracle 数据库中的一种数据处理对象,它可以在数据库中定义一组预定义的 SQL 语句,用于完成特定的数据库操作。存储过程可以被授权的用户调用,并且可以执行多个语句,这些语句可以被视为一个单独的操作,也可以被视为一系列的操作。 使用存储过程可

    2024年02月03日
    浏览(46)
  • Oracle系列十五:存储过程

    (1)定义 Oracle 存储过程是一组为完成特定功能SQL 语句,具有输入和输出参数,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如带有参数)来执行。 使用存储过程具有以下优点: 提高性能:由于存储过程在数据库服务器上执行,可以减少网络流量和

    2024年02月08日
    浏览(41)
  • Oracle数据库创建存储过程

    下面是一个迁移数据库数据的存储过程: 存储过程中用到的 while 循环逻辑:  

    2024年02月11日
    浏览(42)
  • oracle 之存储过程 begin ...... ; ...... end

    点击查看代码

    2024年02月08日
    浏览(51)
  • 【Oracle系列】- 存储过程(Stored Procedure)

    一、什么是存储过程 存储过程 (Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储过程在数据库中,经过第一次编译后再次调用不需要二次编译。用户通过指定的存储过程名称应传给参数来调用完成。 存储过程就是解决特定问题,有先后顺序的

    2024年02月06日
    浏览(45)
  • oracle 自定义存储过程(非常简单明了)

    1.举一个简单的例子 定义存储过程 easyProcedure 入参为 两个数 出参为 他们的和 使用存储过程接着往下看 2.举一个复杂的例子(例子比较复杂,但很实用) ①创建 TYPE 类型 atrr_type ②将 TYPE 类型 atrr_type 定义为表, 用做接收返回值 ③定义存储过程 入参为 objt 出参为 一张表 ④

    2024年02月09日
    浏览(36)
  • Oracle SQL存储过程能够返回表吗

    在Oracle存储过程中,我们可以使用游标来返回表的数据。游标是一种类似于指针的数据类型,可以用来遍历和操作结果集。以下是一个示例的Oracle存储过程,通过游标返回表数据: SQL Copy 在这个存储过程中,我们声明了一个游标变量employee_cursor,并将SELECT语句的结果集赋值给

    2024年02月13日
    浏览(44)
  • oracle中建立job定期运行存储过程 参数

     Plsql developer dbms schedual job里面编辑也可以 手动方式: 1 首先查看 SQL show parameter job NAME                                 TYPE        VALUE ------------------------------------ ----------- ------------------------------ job_queue_processes                  integer     10 如果值是 0 需要修改(如

    2024年02月07日
    浏览(41)
  • Mr. Cappuccino的第69杯咖啡——Oracle之存储过程

    概念 PLSQL是Oracle对sql语言的过程化扩展,指在SQL命令语言中增加了过程处理语句(如分支、循环等),使SQL语言具有过程处理能力。 程序结构 PL/SQL可以分为三个部分:声明部分、可执行部分、异常处理部分。 其中DECLARE部分用来声明变量或游标(结果集类型变量),如果程序

    2024年01月17日
    浏览(47)
  • Mysql存储过程调用

    项目结构: 准备数据 CREATE TABLE `demo_entity` (   `id` bigint(20) NOT NULL AUTO_INCREMENT,   `name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,   `age` bigint(20) DEFAULT \\\'0\\\',   `cdate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,   `udate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,   PRIMARY KEY (`id`) ) EN

    2024年02月05日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包