`

关系oracle数据库过程

阅读更多

       好久没有来到这里了,没有什么心思写东西了,因为说真的现在学的却不知道怎么去描述,自己随便写写,下面开始进入正题.

       在初级的时候没有涉及到数据库编程,只是简单的Java中传送一个sql语句到数据库,然后返回查询的结果在进行判断,说实话没有觉得有什么不对的,当然了,也看到过一些关于软件性能一些方面的东西,但是限于个人知识面的原因,那时候还没有仔细考虑,知道最近开始学习了数据库变成之后,才发现还有很大的提升,当然了,即便是现在这样,肯定还会有提升空间的,毕竟是新人么。

       先简单的说一下效率的问题,个人理解,先说一下初级的时候执行数据库的增删改查的时候都要传送一个sql语句,然后进入数据库之后执行,但是当大量的数据发生的时候,每一个都要发送一个sql语句的话就会造成资源的浪费。而过程呢就是将过程存储到数据库中,在Java中只要传一个对象过去,调用对应的方法,然后取到返回值,这样在效率上面就有了一定的提升了。

       简单的过程语法是

CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter_list)]
{IS|AS}
[local_declarations]
BEGIN
executable_statements
[EXCEPTION
exception_handlers]
END [procedure_name];

 

create or replace procedure proc_getEnameById(var_empno in number)
as
--在过程内部,变量直接定义,不需显示编写declare
var_ename varchar2(50);
begin
select ename into var_ename from emp where emp.empno=var_empno;
dbms_output.put_line('员工姓名为:'||var_ename);
end;

       过程现阶段就接触过很简单的一些,毕竟现在还在学习中,没有接触过太多

       我现阶段用到最多的应该就是增删改查了。

       1.添加用户的代码,以自己新建的userinfo表为标准,其中有userid,username,userpwd三个属性,另外创建了一个序列,seq_userinfo

create or replace procedure proc_addUser
(var_username in varchar2,var_userpwd in varchar2,var_count out number)

as

begin

insert into userinfo values(seq_userinfo.nextval,var_username,var_userpwd);

var_count:=1;

exception when others then

var_count:=0;

end;

     而调用呢分为Java中和数据库中调用了

     在oracle中的调用

--ORACLE中调用
declare
var_username varchar2(50):='李四';
var_userpwd varchar2(50):='ls123';
var_count number;
begin
proc_addUser(var_username,var_userpwd,var_count);
dbms_output.put_line(var_count);
end;

     在Java中调用

 String sql="{call proc_addUser(?,?,?)}";
con=DBUtil.getConnetion();//这个可以就是连接的,只是封装到一个类中了
CallableStatement cstm =con.prepareCall(sql);
//设置过程的参数 in,in ,out
//注意下标             1   2   3 
//out参数注册 index,Types(sql)
cstm.registerOutParameter(3, Types.INTEGER);
cstm.setString(1, "李四");
cstm.setString(2, "ls123");
//执行
cstm.execute();
//显示结果
int count=cstm.getInt(3);
if(count==1){
    System.out.println("添加用户");
}
else{
   System.out.println("用户不合法");
}

       增删改,个人认为还是一样的,只是在过程当众有那么一个sql语句是不一样的,其他方面应该没有太大的区别,下面应该就是最麻烦的查了。

       在查询的时候用到了游标,

create or replace procedure proc_emp(cur_emp out sys_refcursor)
is
begin
open cur_emp for select * from emp;
end;

 在oracle中调用

declare
cur_temp sys_refcursor;
var_emprow emp%rowtype;
begin
proc_emp(cur_temp); --这样这个游标就有值了
fetch cur_temp into var_emprow;
while cur_temp%found loop
dbms_output.put_line(var_emprow.empno||var_emprow.ename);
fetch cur_temp into var_emprow;
end loop;--由于可能不是一个值,所以要循环的
end;

      Java当众调用

String sql = "{call proc_emp(?)} ";
// 调用DBUtil 数据访问类的方法
Connection con = DBUtil.getConnetion();
CallableStatement cstm =con.prepareCall(sql);
cstm.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR);
cstm.execute();
ResultSet rs = (ResultSet)cstm.getObject(1);
while(rs.next()){
System.out.println(rs.getString(1)+rs.getString(2)+rs.getString(3));}

 

--1完成用户信息表的所有信息查询
--2完成根据用户姓名模糊查询返回结果集过程

大体上就这些,其实还有其他的等一下在写写

分享到:
评论

相关推荐

    Oracle数据库工具安装包(免安装)

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,尤其在企业级应用中占据了重要的地位。本文将详述“Oracle数据库工具安装包(免安装)”的相关知识点,包括Oracle Client 11.2版本以及32位系统兼容性,...

    VFP调用ORACLE存储过程数据库接口程序.pdf

    本文将介绍如何在Windows平台上利用VFP调用Oracle存储过程,以及实现Oracle数据库内容向VFP数据表的自动转换。 首先,我们来了解Oracle数据库。Oracle数据库是一种基于SQL的大型关系型数据库系统,它以支持多用户、...

    Oracle数据库大作业

    在Oracle数据库中实现这样的系统,需要进行数据库设计,包括实体关系模型(ER模型)的构建,确定数据表的结构、字段、主键和外键等关键元素,以确保数据的一致性和完整性。 在PPT中,可能详细阐述了需求分析、系统...

    查看登录oracle数据库用户记录.docx

    Oracle 数据库是一个强大的关系型数据库管理系统,提供了强大的数据存储和管理功能。为了管理和监控数据库的访问情况,需要对登录 Oracle 数据库的用户记录进行跟踪和查看。本文将介绍如何查看登录 Oracle 数据库的...

    Oracle数据库系统应用与开发

    Oracle数据库系统是全球广泛使用的大型关系型数据库管理系统之一,它在企业级数据管理和应用程序开发中扮演着核心角色。本资源“Oracle数据库系统应用与开发”深入探讨了Oracle数据库的使用和开发技术,特别关注...

    Oracle数据库体系结构( 中文详细版)

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其强大的功能和稳定性使其在企业级应用中占据了重要地位。本文将详细解析Oracle数据库的体系结构,帮助读者深入理解其内部工作原理。 Oracle数据库的...

    oracle数据库编程pdf文档教案

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,尤其在企业级应用中占据重要地位。这份"Oracle数据库编程pdf文档教案"提供了从基础到高级的Oracle学习路径,通过5天的学习内容,帮助读者深入理解并掌握...

    ORACLE数据库设计与优化

    Oracle数据库是全球广泛使用的大型关系型数据库系统之一,它在数据存储、处理和管理方面具有强大的功能。本主题主要探讨Oracle数据库的设计原则和优化策略,以提升系统的性能和效率。 一、数据库设计基础 1. 规范化...

    Oracle数据库资料大全

    Oracle数据库是全球最广泛使用的商业关系型数据库管理系统之一,由美国甲骨文公司(Oracle Corporation)开发和维护。Oracle数据库以其高效、稳定和强大的功能在金融、电信、医疗、政府等多个领域得到广泛应用。本...

    Oracle数据库使用指南

    Oracle数据库是全球最广泛使用的商业关系型数据库管理系统之一,尤其在企业级应用中占据主导地位。本指南将针对初学者,详细介绍Oracle数据库的基础知识、安装与配置,以及一些常用的操作和管理技巧。 **1. Oracle...

    Oracle数据库试题100题(附答案)

    Oracle数据库是甲骨文公司推出的一个功能强大的关系数据库管理系统,它广泛应用于金融、电信、制造等行业。Oracle数据库试题能够帮助相关岗位的应聘者或者数据库管理人员加深对Oracle数据库的理解。本次提供的100题...

    Oracle数据库学习课件

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,尤其在企业级应用中占据主导地位。通过这套课件,学习者可以深入了解Oracle数据库的架构、管理、优化以及开发技巧。 课程内容可能包括以下几个核心部分: ...

    Oracle数据库完全卸载干净工具

    Oracle数据库是一种广泛使用的大型关系型数据库管理系统,它在企业级应用中扮演着核心角色。然而,当不再需要Oracle数据库或需要进行系统升级时,正确、彻底地卸载Oracle数据库至关重要,以防止残留文件影响新安装或...

    Oracle数据库升迁时字符集问题的解决.pdf

    为了解决 Oracle 数据库升迁过程中的字符集问题,需要掌握 Export 和 Import 命令的使用方法,并了解 Oracle 数据库系统升迁过程中的字符集转换问题。 在 Oracle 数据库升迁过程中,字符集问题的解决方法可以分为...

    oracle数据库连接工具

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,用于存储、管理和检索复杂的数据。为了与Oracle数据库进行交互,我们需要可靠的连接工具。"Oracle数据库连接工具"指的是可以方便地连接到Oracle数据库并执行...

    oracle数据库解密工具

    Oracle数据库是一种广泛使用的大型关系型数据库管理系统,其安全性与数据加密功能强大,为保护敏感信息提供了坚实的基础。然而,有时为了进行数据库维护、故障排查或审计需求,开发人员可能需要查看存储过程的源代码...

    Oracle数据库应用课件

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,尤其在企业级应用中占据着核心地位。本课件将深入探讨Oracle数据库的应用,旨在帮助学习者掌握其基础知识和操作技能。 首先,我们来了解一下“数据库的基础...

    易语言oracle数据库连接模块源码

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,适用于处理大量数据和并发事务。 Oracle数据库连接模块的核心在于如何建立和管理与Oracle服务器的通信。在这个模块中,通常会用到Oracle的数据访问接口,如...

    Oracle数据库课程大作业.pdf

    Oracle数据库是一种广泛应用于企业和组织的大型关系型数据库管理系统,它提供了高效的数据存储、管理和查询功能。在Oracle数据库课程中,学生们通常会被要求掌握一系列基础知识,包括数据库的逻辑存储结构、服务端口...

    Abp项目模板使用Oracle数据库

    在这个“Abp项目模板使用Oracle数据库”的场景中,开发者已经将Abp框架与Oracle 11g数据库集成,以便利用Oracle的强大功能来存储和管理应用程序的数据。Abp.Zero是Abp框架的一个子模块,主要关注多层架构中的基础...

Global site tag (gtag.js) - Google Analytics