图解Oracle存储过程教程

1 Oracle的工具有PLSQL和Oracle自带的SQL Developer,以下使用后者;

从开始菜单启动SQL Developer;


2 进入以前用scott账号建立的连接;



3 先输入下述语句统计下各个表的记录数;

看用哪个表做存储过程的示例;



4 后来想到不如用SCOTT账户下自带的表;Oracle自带的表EMP内容如下;



5 做第一个简单存储过程;输入下图语句,执行,出现下图错误;



6 再写一个如下图所示简单存储过程;执行;正确;结果如下图;




7 改正5的错误;因为网页拷过来的代码有时候会包含全角字符,全角空格不容易发现;故出现“无效的字符”;改正后执行,正确,代码和结果如下图;



8 存储过程返回结果集

Oracle不像SQLServer那样在存储过程中用Select就可以返回结果集,而是通过Out型的参数进行结果集返回的;

下图代码中,

cursor cursor_emp is select * from emp;    -- 定义游标

row_emp cursor_emp%rowtype;               -- 定义row_emp是游标中的行类型;

返回游标后循环输出获取的行集;



9 返回记录数和使用select into 语句,代码和结果如下图;



10 存储过程中的if语句;

输入型参数不能作为赋值目标;出现下图错误;



11 把参数类型改为 in out 类型,再编译;正确;然后执行,输入参数和执行结果如下图;





12 再做一个返回结果集,返回EMP表的SAL,代码和结果如下图;



13 存储过程中的while语句,代码和结果如下图;


以上代码经调试无误;下载:

http://pan.baidu.com/s/1eQ4FTAy

阅读更多
换一批

没有更多推荐了,返回首页