Oracle_10g_plsql实战笔记

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1编写一个存储过程,该过程可以向某表中添加记录

1) 创建一个简单的表

create table mytest(name varchar2(30),passwd varchar2(30));

2)创建过程:

create or replace procedure sp_pro1 is

bgin

3)执行部分

insert into mytest values('zhangsan','zhangsan');

4) 结束

end;

5)

/

如何查看错误:show error;

如何调用过程:

1)exec 过程名(参数值1,参数值2……)--调用一次就插入一条记录2)call 过程名(参数值1,参数值2……)

select * from mytest;--查看结果

2编写一个存储过程,该过程可以删除表记录

create or replace procedure sp_pro2 is

bgin

--执行部分

delete from mytest where name = 'zhangsan';

end;

5)

/

java程序结果

public static void main(String[] args)

{

int a = 1;

try

{

a++;

}

catch(Exception e)

{

//异常处理

}

--打开输出选项

set serveroutput on;

--关闭输出选项

set serveroutput off;

exec sp_pro3(‘SCOTT’,4890); //娱乐测试

如何在java程序中调用一个存储过程?

在java中建立一个project程序

//演示用例:演示java程序调用oracle的存储过程案例

Try

{

//1 加载驱动

class.forName(“oracle.jdbc.driver.OracleDriver”);

//2 连接

//……

//3 创建CallableStatement

ableStatement cs = ct.prepareCall(“{call sp_pro3(?,?)}”);

//4给?赋值

cs.setString(1,”SMITH”);

cs.setInt(2,1005);

//5 执行

cs.execute();

//6 关闭

cs.close();

conn.close();

}

游标

A cursor is a name for a specific private SQL area in which information for processing the specific statement is kept

I mplicit / explicit

Collections (集合)

Varray - 数组

Nested table –集合

Associative Arrays – (hash table)

Records

DECLARE TYPE timerec IS RECORD (hours SMALLINT, minutes SMALLINT);

对象类型

CREATE TYPE employee_typ AS OBJECT

CREATE TYPE BODY employee_typ AS

3

5 复合类型-pl/sql表

相当于高级语言中的数组.但是需要注意的是在高级语言中数组的下标不能为负数,而pl/sql是可以为负数的,并且表元素的下标没有限制.实例如下

declare

type sp_table_type is table of emp.ename%type

index by binary_integer; --下标按整数排序

sp_table sp_table_type; --定义一个变量:sp_table ,类型sp_table_type

begin

select ename into sp_table(-1) from emp where empno=7788;

dbms_output.put_line('员工名:'|| sp_table(-1));

end;

说明:sp_table_type是pl/sql表类型

emp.ename%type 指定了表的元素的类型和长度

sp_table 为pl/sql表变量

sp_table(0)则表示下标为0的元素

6 参照变量-介绍

参照变量是指用于存放数值指针的变量.通过使用参照变量,可以使得应用程序共享相同对象,从而降低占用的空间。在编写pl/sql程序时,可以使用游标变量(ref cursor) 和对象类型变量,(ref obj_type)两种参照变量类型

参照变量-ref cursor游标变量

使用游标时,当定义游标时不需要指定相应的select语句,但是当使用游标时(open 时)需要指定select语句,这样一个游标就与一个select语句结合了。

实例如下:

相关文档
最新文档