http://blog.bossma.cn/database/some-oracle-storing-process/

几个常用的Oracle存储过程

发布时间:2008年1月6日 / 分类:DataBase / 7,268 次浏览 / 评论

初学Oracle,了解了一下Oracle的存储过程,运行了几个例子,做个备忘,方便以后使用:
1、插入数据:
向一张表里插入若干条数据

 
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
/*
创建表tb1
包含两个字段col1、col2
*/
create table tb1(
col1 char(20),
col2 char(20));
 
/*插入数据的存储过程*/
CREATE OR REPLACE PROCEDURE INSERTAMOUNTTEST
(
ST_NUM        IN     NUMBER,/*起始数值*/
ED_NUM        IN     NUMBER/*结束数值*/
)
IS
BEGIN
declare
       i   number;
begin
/*循环插入*/
FOR i IN ST_NUM..ED_NUM LOOP
INSERT INTO tb1 values(i,'test');
END LOOP;
end;
commit;
/*异常处理*/
EXCEPTION
WHEN OTHERS THEN
rollback;
END;
 
/*在CommondLine下执行*/
exec INSERTAMOUNTTEST(1,2000);

2、更新数据

 
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
CREATE OR REPLACE PROCEDURE UPDATEAMOUNTTEST
(
WHERE_NUM IN VARCHAR2/*SQL语句条件值*/
)
IS
BEGIN
UPDATE tb1 SET col2='test2' where col1 like WHERE_NUM||'%';
/*异常处理*/
EXCEPTION
WHEN OTHERS THEN
rollback;
END;
 
/*在CommondLine下执行*/
exec UPDATEAMOUNTTEST('11');

3、存储过程之间的调用
以一个查询更新为例子

 
 
 
 
 

C#

 
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
/*
查询更新存储过程,调用更新存储过程UPDATEAMOUNTTEST2
*/
CREATE OR REPLACE PROCEDURE SELECTUPDATETEST
(
tJStr IN CHAR
)
is
  upStr CHAR(20);
begin
/*
查询出要更新的字段值
*/
select a.col2 into upStr from tb1 a where a.col1 = tJStr;
/*
调用更新存储过程
传入用于更新的两个参数
*/
UPDATEAMOUNTTEST2('11',upStr);
end SELECTUPDATETEST;
 
/*
更新用的存储过程,被SELECTUPDATETEST调用
*/
CREATE OR REPLACE PROCEDURE UPDATEAMOUNTTEST2
(
WHERE_NUM IN VARCHAR2,/*更新条件*/
SET_NAME IN VARCHAR2/*更新后的字段值*/
)
IS
BEGIN
UPDATE tb1 SET col2=SET_NAME where col1 like WHERE_NUM||'%';
EXCEPTION
WHEN OTHERS THEN
rollback;
END;

【转】几个常用的Oracle存储过程的更多相关文章

  1. oracle 存储过程

    来自:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 I ...

  2. Oracle存储过程语法

    原文链接:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程  1 CREATE OR REPLACE PROCEDURE 存储过程名  ...

  3. Oracle存储过程基本语法介绍

    Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...

  4. Oracle存储过程(转)

    Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...

  5. ORACLE存储过程学习

    存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR REPLACE PROCEDURE ...

  6. Oracle 存储过程学习

    转自:http://blog.chinaunix.net/uid-20495387-id-174394.html http://www.cnblogs.com/rootq/articles/11000 ...

  7. Oracle 存储过程异常处理

    Oracle 存储过程异常处理 1.异常的优点    如果没有异常,在程序中,应当检查每个命令的成功还是失败,如  BEGIN  SELECT ...  -- check for ’no data f ...

  8. oracle存储过程、声明变量、for循环|转|

    oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...

  9. Oracle存储过程基本语法 存储过程

    Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...

随机推荐

  1. ora-06502

    执行一个存储过程时报这个错误 ORA-06502: PL/SQL: 数字或值错误 发现是定义的字符串的缓冲区太小,赋给字符串的值又太大 修改varchar2(20)  →   varchar2(200 ...

  2. Android开发问题汇总(持续更新)

    在Android开发中,总会有一些很小的问题.由于我们的不仔细,很容易忽略掉,从而导致在该问题上花费了很多的时间,造成工作进度的延迟. 为此,在这里做一下记录,避免再次浪费许多时间在这些问题上. 1. ...

  3. [一道搜狗输入法的面试题]C++转换构造函数和类型转换函数

    今天面试遇到一道有关C++转换构造函数的题目,之前经常见到默认构造函数.拷贝构造函数.析构函数,但是从没听说过转换构造函数,隐式转换函数也是一样,C++的确是够博大精深的,学习之路很长啊! 其实我们已 ...

  4. MySQL管理一些基础SQL语句

    .进入information_schema 数据库(存放了其他的数据库的信息) use information_schema; .查询所有数据的大小: ),),'MB') as data from i ...

  5. Vim配置 终端背景色配置

    在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号.语法高亮度显示.智能缩进 等功能的.为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc.在启动vim时,当前用户 ...

  6. jQuery1.9.1针对checkbox的调整

    在jquery 1.8.x中的版本,我们对于checkbox的选中与不选中操作如下: 判断是否选中 $('#checkbox').prop('checked') 设置选中与不选中状态: $('#che ...

  7. hadoop笔记之MapReduce的运行流程

    MapReduce的运行流程 MapReduce的运行流程 基本概念: Job&Task:要完成一个作业(Job),就要分成很多个Task,Task又分为MapTask和ReduceTask ...

  8. select * from (select P.*,ROWNUM RN FROM(select * from Mp_Relatedart where pubbaseid=785 order by ID ASC )P)M WHERE M.RN>2 and M.RN <= 7

    select * from (select P.*,ROWNUM RN FROM(select * from Mp_Relatedart where pubbaseid=785 order by ID ...

  9. Oracle EBS-SQL (SYS-8):职责定义明细.sql

    SELECT DISTINCT fa.application_short_name 模块,                 b.responsibility_name 职责名称, fa.applica ...

  10. hadoop源码eclipse环境搭建-源码获取阶段

    就目前了解,结合eclipse阅读和编译hadoop源码用两种方式:svn和git. 根据官方指南http://wiki.apache.org/hadoop/EclipseEnvironment 推荐 ...