Oracle存储过程的理解

Posted ichk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle存储过程的理解相关的知识,希望对你有一定的参考价值。

  在大专时候学的专业是数据库管理专业,在学校学了各种各样的数据 MSSQL、ORACLE、mysql

那时候学数据大部分只学到了些皮毛,仅仅只会按照书上SQL语句,输入计算机得出结果,就很有成就感。

对于高阶课程存储过程就有些难度了,那时候也没学好存储过程。最近项目中用到存储过程,才知道存储过程的重要性。

存储过程几乎可以解决所有业务逻辑,我们可以用存储过程取代代码中的逻辑。

这样代码只要关心输入参数得出想要的结果,可以大大简化客户端开发。

但因为存储过程本身语法并不优美,阅读起来会有些吃力,常常会看到一个存储过程有上千行代码,可读性很差。

存储过程在一些场合非常有用,比如常用的 分页存储过程、批量更新处理数据。

所以还是有必要掌握学习存储过程的,特别是一些传统软件行业,存储过程就是他们的核心。

以下是自己总结 存储过程的一些语法:

 create or replace procedurre  my_proce

(

user_name varchar2(20),

out out_cursor sys_cursor

) as 

declare

cursor my_cursor is  select * from tab_users;

tab_row tab_user%rowtype;

user_password  tab_users.user_password%type;

begin

--几种调用游标的方式

open cursor my_cursor;

--loop 方式

loop

fetch tab_row in my_cursor

dbms_output.putline(tab_row.user_name);

exit when my_sursor%nofound

end loop;

--while 方式

while tab_row%found loop

fetch tab_row in my_cursor;

dbms_output.putline(tab_row.password);

end loop;

-- for 方式 不用显示打开游标

for tab_row in my_cursor loop

  dbms_output.put_line(tab_row.username);

end loop;

 

-- open for sql语句

open out_cursor for ‘select * from tab_users‘;

 

 

 

 

end;

 

以上是关于Oracle存储过程的理解的主要内容,如果未能解决你的问题,请参考以下文章

求两个oracle存储过程例子

oracle 存储过程(分析理解)

oracle中的存储过程有啥作用,该怎么理解?(数据更新的话用update语句不就完了吗)

oracle带参(传入,传出)的存储过程怎么执行

oracle之存储过程中使用行锁的理解和正确的打开方式

ADO.Net(C#)中怎么执行Oracle的存储过程