1.动态参数绑定,可以实现动态的执行不同的sql --创建包 create or replace PACKAGE MYPACKAGE AS type empcursor is ref cursor; procedure queryEmpList(dno in number,empList out empcursor); END MYPACKAGE; --创建包体 create or replace PACKAGE BODY MYPACKAGE AS procedure queryEmpList(…
在本系列学习随笔中的第2节我们留下了2个问题,我们现在讨论在out参数中使用光标. 1.要在out参数中使用光标,我们需要申明一个包的结构,包的结构分为包头和包体,包头只负责申明,包体只负责实现.包头.包体也是数据库中的对象,与表是同一级别类型. 应用场景举例:查询某部门所有员工的所有信息 包头:根据以下步骤创建 命名包名:mypackage: 在包中编写我们自己的存储过程或者存储函数: 按下键盘ctrl+s,sql developer将自动存盘并且进行编译: 接下来我们创建包的主体: 将会自动…
上一小结我们简单介绍了存储过程和存储函数,对存储过程和存储函数有了一个基本的了解,接下来介绍在java程序中如何调用我们创建的存储过程和存储函数 1.在应用程序中调用我们的存储过程 创建一个简单的Java工程,如:TestOracle,在项目中新建lib文件夹,并拷贝ojdbc14.jar,添加到系统路径中,目录结构如下: 在项目中创建一个用于连接数据库以及与数据库执行交流的工具类JDBCUtils.java package demo.utils; import java.sql.Connect…
1.存储过程和存储函数 描述:指存储在数据库中供所有用户程序调用的子程序叫做存储过程.存储函数 区别:存储函数可以通过return子句返回一个函数的值 (1)存储过程 语法:create [or replace] PROCEDURE 过程名(参数列表) AS PLSQL子程序体; 存储过程的调用方式: a)exec/execute 过程名(); b)begin 过程名(); 过程名(); end; / 带参数的存储过程: 举例:为指定的员工涨100块钱工资,并且打印涨前以及涨后的工资. 在sql…
oracle数据库存储过程中NO_DATA_FOUND不起作用 1.首先创建一个表lengzijiantest,表中只有一个字段f_id ? 1 2 3 4 5 [cpp] CREATE TABLE LENGZIJIANTEST  (    F_ID  NUMBER                                  NOT NULL  ) 2.插入一条数据 ? 1 2 [cpp] insert into lengzijiantest values (1) 3.现在表里面只有一条数…
导读:在oracle数据库存储过程中如果用了select语句,要么使用"select into 变量"语句要么使用游标,oracle不支持单独的select语句. 先看下这个存储过程: create or replace procedure pro_test  is  begin  select * from t_test;  end pro_test; 这个存储过程正确吗? 昨天因为这个,耽误了好久(在一个存储过程中用了select语句,但既没有用游标也没有用into). 在存储过程…
疑问:怎样判断存储过程执行之后返回值是否为空. 一.连接oracle数据库 1.需要的jar包:在安装的oracle中就有,所以不需要到官网下载,我的oracle11g下:D:\app\kdyzm\product\11.2.0\dbhome_1\jdbc\lib,文件夹中有若干.jar文件,选择ojdbc6.jar即可. 2.连接oracle 驱动位置:oracle.jdbc.OracleDriver url写法:jdbc:oracle:thin:@localhost:1521:orcl 3.J…
1.PLSQL编程 1.1概念和目的 PL/SQL(Procedure Language/SQL) PLSQL是Oracle对sql语言的过程化扩展 指在SQL命令语言中增加了过程处理语句(如分支.循环),使SQL语言具有过程处理能力 1.2程序结构 通过PLsqlDeveloper工具的Test Windows创建程序模版或者通过语句在SQLWindows编写 提示:PLSQL语言的大小是不区分的 PL/SQL可以分为三个部分:声明部分.可执行部分.异常处理部分 [declare]  --声明…
其实这个不是一个什么新的话题.但是之前在多次项目中,总是遇到大家针对Oracle数据库的访问时,会有各种各样的问题,最基本的就是要在客户端安装各种client,版本不一样的话还有各种问题. 静下心来看看,其实也没有那么难.我这里总结一下,如何在.NET应用程序中,简单优雅地使用Oracle数据库. 第一个原则:不要依赖 最好的情况就是,程序自己就可以完成数据访问,不需要额外地安装所谓的Oracle Client,那是一个很麻烦而且痛苦的事情. 我们首先看看,如果不装任何东西,是否可以实现Orac…
一.涉及内容 1.掌握存储过程与函数的概念. 2.能够熟练创建和调用存储过程与函数. 二.具体操作 1.创建存储过程,根据职工编号删除scott.emp表中的相关记录. (1)以scott 用户连接数据库,然后为system 用户授予delete 权限. 语句: connect scott/tiger; grant delete on emp to system;   截图: (2)以system 用户连接数据库,创建存储过程. 语句: connect system/orcl1234: crea…