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. Struts2 初体验

    Sturts是一款优雅的,可扩展性很强的框架.它是由Struts开发团队和WebWord团队合作,共同开发的一个新的产品.新版本的Struts2 更加容易使用,更加接近Struts所追求的理念.从开发 ...

  2. 第一个OC类、解析第一个OC程序

    01第一个OC 类 本文目录 • 一.语法简介 • 二.用Xcode创建第一个OC的类 • 三.第一个类的代码解析 • 四.添加成员变量 • 五.添加方法 • 六.跟Java的比较 • 七.创建对象 ...

  3. java -Xms -Xmx -XX:PermSize -XX:MaxPermSize

    java  -Xms -Xmx -XX:PermSize -XX:MaxPermSize     在做java开发时尤其是大型软件开发时经常会遇到内存溢出的问题,比如说OutOfMemoryError ...

  4. RemoveAll 要重写equals方法

    public class User { private String name; private int age; //setter and getter public String getName( ...

  5. Spring 整合hibernante 错误java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

    1.将所需的jar包全部拷贝到WEB-INF/lib下,再重新启动tomcat便能顺利通过了.参考http://blessht.iteye.com/blog/1104450 最佳答案   spring ...

  6. Linux学习之rcp命令

    rcp代表“remote file copy”(远程文件拷贝).该命令用于在计算机之间拷贝文件.rcp命令有两种格式.第一种格式用于文件到文件的拷贝:第二种格式用于把文件或目录拷贝到另一个目录中. 1 ...

  7. php5.3 PHP5.4 PHP5.5 新特性/使用PHP5.5要注意的

      1.PHP 5.3中的新特性 1.1 PHP 5.3中的新特性 1.1.1. 支持命名空间 (Namespace) 毫无疑问,命名空间是PHP5.3所带来的最重要的新特性. 在PHP5.3中,则只 ...

  8. You have not agreed to the Xcode license.

    You have not agreed to the Xcode license. Before running the installer again please agree to the lic ...

  9. WebService之Axis2

    写在前面 本文只说Axis2的用法. 1.下载与部署 需要下载两个文件: 下载地址:http://mirrors.cnnic.cn/apache/axis/axis2/java/core/1.7.1/ ...

  10. 关于继承UITableViewController若干问题

    // // MSHomeCommentTableViewController.m // xiaoqu-ios // // Created by Charlie on 15/7/1. // Copyri ...