【转】几个常用的Oracle存储过程
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存储过程的更多相关文章
- oracle 存储过程
来自:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 I ...
- Oracle存储过程语法
原文链接:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 ...
- Oracle存储过程基本语法介绍
Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...
- Oracle存储过程(转)
Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...
- ORACLE存储过程学习
存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR REPLACE PROCEDURE ...
- Oracle 存储过程学习
转自:http://blog.chinaunix.net/uid-20495387-id-174394.html http://www.cnblogs.com/rootq/articles/11000 ...
- Oracle 存储过程异常处理
Oracle 存储过程异常处理 1.异常的优点 如果没有异常,在程序中,应当检查每个命令的成功还是失败,如 BEGIN SELECT ... -- check for ’no data f ...
- oracle存储过程、声明变量、for循环|转|
oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...
- Oracle存储过程基本语法 存储过程
Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...
随机推荐
- boost signal2 trackable
挺简单的一个类,只是维护了一个成员 shared_ptr<detail::trackable_pointee> _tracked_ptr; 这样看来的话,所谓的track还是基于智能指针, ...
- windows server 2008 NTP授时服务[转]
转自 http://www.cnblogs.com/jingdian1956/admin/EditPosts.aspx?opt=1 服务端: 默认情况下,独立服务器WINDOWS SERVER 20 ...
- 安装Eclipse Color Theme
我们都知道eclipse默认的颜色主题是白色的背景,但是如果想改变代码编辑区的背景颜色,需要怎么办呢? 今天给大家介绍一个非常赞的eclipse,可以很方便的根据自己的需求选择喜欢的颜色主题,其他的不 ...
- 回调函数 callback 的简单理解
回调函数指当我执行完某一段代码之后在回过头来调用 jquery 最简单的例子 $(".className").each(function(i){alert(i)}) 她这个形参i是 ...
- php数组array,知道键名如何提取键值
如果是知道键值,需要查找键名,直接使用array_search()即可.现在反过来,如何操作? (1)array_walk_recursive()加自定义函数查找 $arr=array( 'n ...
- erlang学习笔记(1)
提示符erl 注释% comment 表达式123456789 * 123456789. 变量(单一赋值)X = 123456789.X.Y = X * X * X.Y.f(). 整数浮点数X = 5 ...
- 圣何塞与 Microsoft 宣布该市为超过 5,000 名市府公务员选择 Office 365、Windows Azure 和 StorSimple
过去几个月来我们展示了极大的客户吸引力,今天我们非常高兴地宣布,我们又赢得了一位新客户,且他们利用 Microsoft 革新 IT 的方式非常有趣. 今天,我们非常高兴地告诉大家,圣何塞市选择了 Mi ...
- NOI2011 Day1
NOI2011 Day1 兔农 题目描述:\(fib[1]=fib[2]=1, fib[i]=fib[i-2]+fib[i-1] (i\geq 3)\),若\(fib[i] \equiv 1(mod ...
- 链表-remove duplicates from sorted list
struct ListNode* deleteDuplicates(struct ListNode* head) { struct ListNode *p=head; if(!head) return ...
- JS isArray记录
var isArray=Function.isArray||function(0){ return typeof o === "object" && Object. ...