PLSQL高级内容
一、PLSQL接受动态输入的值
使用PL/SQL块也可以进行数据库的查询操作。
可以使用&来获得用户的输入。
语法:变量名:=&输入变量名;
范例:要求输入一个雇员的编号,之后显示出此雇员编号的姓名。
二、游标
游标:是内存中用于装载记录的一个区域。
如果要想使用游标,需要按照以下步骤进行处理:
1、声明游标
语法:cursor 游标名 is 查询语句
2、打开游标
语法:open 游标名
3、取得游标进行PL/SQL的使用,将内容放到变量之中
语法: FETCH cursor_name INTO variable[,variable,....]
其中:cursor_name为游标名,variable为在声明中定义的变量名
4、关闭游标
语法:close 游标名;
问题:
对于基本数据类型number、varchar2都可以直接使用,但是现在需要一种类型,此种类型可以直接装下一行数据。
如果要想使用装下一行数据的话要使用rowtype表示类型。每一个rowtype表示一行数据,然后通过列名称访问。
掌握了rowtype之后就可以使用游标进行操作了,游标需要依次取出每一行记录。
范例:使用游标依次输出雇员表中的编号和姓名。
游标名%found:表示检查游标里面是否有记录,有的话返回true.
在循环游标之前需要将游标的指针先向下移动,同时把内容给了变量,之后还判断是否存在记录,如果存在记录则循环输出,输出之后继续向下移动游标,直到游标里没有内容为止。
范例:用loop循环执行上面的范例。
游标名%notfound:表示检查游标里面是否有记录,没有的话返回true.
使用以上的循环操作最麻烦的地方就在于需要手工开打游标并且手工关闭游标,手工移动游标,那么在oracle中为了简化这种操作,对于for循环提供了新的支持。
范例:用for循环实现上面的范例。
游标可以带参数,这种游标称为带参数的游标。
范例:输入一个部门编号,查询出该部门的雇员信息。
游标中可以使用%found,%notfound,%isopen,%rowcount.
范例:给上面的范例使用行号。
Rowcount和rownum的功能是一样的。
三、过程
过程=过程的声明+PLSQL块
语法:
create or replace procedure 过程名
As
Begin
PLSQL语句
End;
/
范例:定义一个完整的过程,可以接收参数,并且根据雇员编号找出其工资。
调用过程
语法:exec 过程名(参数)
一个过程分为两个部分:创建和调用
范例:利用过程向部门表插入数据。
范例:进一步思考,部门的编号不应该重复,如果插入重复的部门编号,则应该提示信息。
过程的参数:
过程的参数可以分为三种类型:
In (默认,传递数值)
Out(输出值)
In out (带值进,也可以带值出)
语法:
create or replace procedure 过程名(变量名 in 类型,变量名 out 类型,)
As
Begin
PLSQL语句
End;
/
调用带输出参数的过程
语法:
Declare
定义变量
Begin
exec 过程名(参数1,参数2...);
输出语句;
End;
/
分享到:
相关推荐
教程名称:Oracle高级开发课程之PL-SQL编程入门视频课程目录:【】PL_SQL编程课程_-lesson3【】PL_SQL编程课程_lesson5-2(完结)【】PL_SQL编程课程_最佳入门教程-intr1【】PL_SQL编程课程_最佳入门教程-lesson1【】...
使用PL/SQL可以编写具有很多高级功能的程序,虽然通过多个SQL语句可能也能实现同样的功能,但是相比而言,PL/SQL具有更为明显的一些优点: 1.能够使一组SQL语句的功能更具模块化程序特点; 2.采用了过程性...
Oracle 8i PL_SQL高级程序设计
了解 PL/SQL 语言的重要性和数据库 版本问题。 还要介绍一些贯穿全书的更详细的高级概念, 并在本章的最后就我们在本书案例 中使用的数据库表的若干约定做一说明
学习和掌握PL/SQL编程精髓的途径,从零基础到高级编程,慢慢无师自通
PLSQL高级编程资料
包含以下资源: oracle专家高级编程 红帽9.0安装教程 oracle10g教程从入门到精通 Oracle_PL-SQL入门教程(经典) Oracle经典教程 ORACLE培训(高级篇) PLSQL基础教程-必看 韩顺平老师oracle视频教程听课笔记
sql21天自学通中文文字版,难得的sql入门进阶教程 第一天 SQL 简介 第二天 查询— —SELECT 语句的使用 第三天 表达式 条件语句与运算 第四天 函数 对获得数据的进一步处理 第五天 SQL 中的子句 第六天 表的联接 第...
P L / S Q L是一种高级数据库程序设计语言,该语言专门用于在各种环境下对 O r a c l e数据库进行访问。由于该语言集成于数据库服务器中,所以 P L / S Q L代码可以对数据进行快速高效的处理。除此之外,可以在O r a...
走进Oracle 1. Oracle简介 2. Oracle安装 3. Oracle客户端工具 4. Oracle服务 5. Oracle启动和关闭 6. Oracle用户和权限 7. 本章总结 8. 本章练习 SQL数据操作和查询 ...5. PL/SQL中动态执行SQL语句 ....
5. PL/SQL中动态执行SQL语句 101 6. PL/SQL的异常处理 102 7. 本章总结 108 8. 本章练习 109 Oracle应用于.Net平台 111 1. 回顾ADO.NET 112 2. 使用ADO.NET连接Oracle 113 3. 抽象工厂中加入Oracle 117 4. 本章总结 ...
PL/pgSQL - SQL 过程语言 38. PL/Tcl - Tcl 过程语言 39. PL/Perl - Perl 过程语言 40. PL/Python - Python 过程语言 41. 服务器编程接口 VI. 参考手册 I. SQL 命令 II. PostgreSQL 客户端应用程序 III. ...
压缩包主要包含了以下内容: (1) Unix基础 (2)标准C编程 ...(9) oracle、 pl. sql (10) Proc&C++ (11) DMS项目 (12) arm体系结构 (13) linux系统移植 (14) linux驱动开发 配套教学视频的阿里云链接
PL/SQL开发手册,全面讲解pl/sql开发;rman备份,从零开始学备份;闪回教程,快捷而强大的闪回;还附带其他oracle培训教程,适合初学者,中高级开发人员,DBA阅读,也是oracle相关工作人员较好的随身手册;
这是任老师的一款Oracle教程,里面包含了基本的Oracle的使用,以及高级PL/SQL的语法,存储过程,游标等等
主要内容包括:Oracle关系数据库,Oracle数据库体系结构,SQL基本查询,修改SQL数据与SQL*Plus命令,PL/SQL编程基础,用户、模式和表,高级查询,过程、函数和程序包,表类型,索引,视图、序列和同义词,触发器,...
很详细的Oracle教程-由Louis编写 引言.......3 第一章 数据库基础.......6 第二章 Oracle 入门.......6 第三章 查询基础......... 11 第四章 单行函数......... 14 第五章 分组函数......... 19 第六章 多表...