没有合适的资源?快使用搜索试试~ 我知道了~
学习oracle笔记-PLSQL
需积分: 0 3 下载量 107 浏览量
2015-09-08
09:49:49
上传
评论 1
收藏 70KB DOCX 举报
温馨提示
试读
23页
学习韩顺平玩转oracle视频笔记--PLSQL
资源推荐
资源详情
资源评论
学习 oracle 笔记
一、 PLSQL 概念............................................................................................................................ 2
1. 过程化语言:在 oracle 中编写存储过程、函数、触发器等。.......................................2
2. 特点.................................................................................................................................... 2
3. 学习的必要性:................................................................................................................. 2
二、 开发工具介绍....................................................................................................................... 2
1. Sqlplus................................................................................................................................. 2
2. PL/SQL developer................................................................................................................ 3
三、 PL/SQL 基础........................................................................................................................... 3
1. 介绍:................................................................................................................................ 3
2. PL/SQL 可以做什么............................................................................................................ 3
3. 编写规范............................................................................................................................ 4
4. 块(block):PLSQL 执行的最小单元,嵌在存储过程、函数等等之中。....................4
5. 存储过程............................................................................................................................ 5
6. 函数.................................................................................................................................... 6
7. 包........................................................................................................................................ 6
8. 变量类型............................................................................................................................ 7
1) 标量,用于存放单个数据的变量,是最简单的变量.......................................7
2) 复合变量,用于存放多个值的变量,主要包括:...........................................8
3) 参照变量(常用游标变量(ref cursor)和对象类型变量(ref obj_type)) 9
四、 Pl/sql 进阶(控制语句、存储过程、例外处理).............................................................10
1. 控制结构(条件语句、循环语句、顺序控制结构…)................................................10
2. 存储过程(编写分页过程)........................................................................................... 14
3. 例外处理.......................................................................................................................... 17
1) 例外案例:输入雇员编号,输出雇员名字.......................................................17
2) 预定义例外................................................................................................................. 18
3) 其他预定义例外........................................................................................................ 21
1 / 23
4) 非预定义例外............................................................................................................ 21
5) 自定义例外................................................................................................................. 21
五、 Oracle 视图.......................................................................................................................... 22
1. 概念:.............................................................................................................................. 22
2. 视图的必要性.................................................................................................................. 22
3. 视图和表的区别............................................................................................................... 22
4. 创建视图.......................................................................................................................... 22
5. 视图可以当作表一样进行 join on 联合查询。...............................................................23
一、PLSQL 概念
1. 过程化语言:在 oracle 中编写存储过程、函数、触发器等。
扩展 oracle 数据库的编程性能;
减轻前端程序的复杂性;
增强数据传输的安全性等等
2. 特点
1) 过程、函数、触发器是由 PLSQL 编写的
2) 过程、函数、触发器是写在 oracle 中
3) PLSQL 是非常强大的数据库过程语言
4) 过程、函数可以在 java 程序中调用
3. 学习的必要性:
1) 提高应用程序的运行性能(减少翻译语句步骤)
2) 模块化的设计思想(分页存储过程、复杂查询过程)
3) 减少网络传输量(传输语句减少,直接调用存储过程语句即可)
4) 提高安全性(传输语句直接调用存储过程名,看不到表名等,具体语句封装
在 oracle 里,多了一层安全性)
5) 移植性不好(语句写在 oracle 里,换数据库则得重写)
二、开发工具介绍
1. Sqlplus
举例:编写一个存储过程,该过程可以向某表中添加记录
1) 创建一张表
2 / 23
Create table mytable(name varchar2(20),passwd
varchar2(6));
2) 创建存储过程:往 mytable 表里添加数据
Create (or replace) procedure mypro1 is
Begin
--执行部分
Insert into mytable values(‘韩顺平’,’pw1234’);
End;
回车,输入/,再回车,如果有错误,可以 SQL>show error 查看错误
3) 如何调用该过程
Exec 过程名 (参数值 1,参数值 2)
Call 过程名 (参数值 1,参数值 2)
2. PL/SQL developer
举例:编写一个存储过程,该过程可以删除某张表的记录
1) Create (or replace) procedure mypro2 is
Begin
Delete from mytable;
End;
2) Exec mypro2;
三、PL/SQL 基础
1. 介绍:
需掌握 SQL 语句、PL/SQL 语句语法规则
可以使用变量、逻辑控制语句
可以轻松完成复杂的查询
可以编写分页存储过程模块、订单处理存储过程模块等
2. PL/SQL 可以做什么
1) 简单分类:
块(最小单元,衍生出):
存储过程
函数
包
触发器
3. 编写规范
3 / 23
1) 注释:
a) 单行注释:--
b) 多行注释:/*.....*/
2) 标识符号的命名规范
a) 当定义变量时,建议用 v_作为前缀,v_sal
b) 当定义常量时,建议用 c_作为前缀,c_rate
c) 当定义游标时,建议用_cursor 作为后缀,emp_cursor
d) 当定义例外时,建议用 e_作为前缀,e_error
4. 块(block):PLSQL 执行的最小单元,嵌在存储过程、函数等等之中。
1) 块是 PL/SQL 的基本程序单元,编写 PL/SQL 程序就是编写块,PL/SQL 块中
可以嵌套其他的 PL/SQL 块,可以实现复杂的功能
2) 块的结构:
a) 由三个部分构成:定义部分、执行部分、例外处理部分
b) Declear--定义部分(该部分可选)
/*定义常量、变量、游标、例外、复杂数据类型*/
c) Begin--执行部分(该部分必须)
/*执行 PL/SQL 语句和 SQL 语句*/
d) Exception--例外处理部分(该部分可选)
/*处理各种运行的错误*/
3) 实例 1(最简单的块:只有执行部分)
(要先执行 Set serveroutput on/o+ –打开/关闭输出选项,才能输出)
Begin
Dbms_output.put_line(‘hello’);--输出 hello
End;
/,再回车,即可输出 hello
--dbms_output 是 oracle 提供的包,put_line 是该包中的过程
4) 实例 2(有定义个执行部分的块)
Declare
V_ename varchar2(5);--定义字符串变量
Begin
Select ename into V_ename from emp where empno=&no;--执
行部分
Dbms_output.put_line(‘雇员名:’||v_ename);--输出部分
End;
/ 回车
4 / 23
--&表示要接收从控制台输入的变量
实例:
declare
v_ename varchar2(5);
v_sal number(7,2);
begin
select ename,sal into v_ename,v_sal from emp where
empno=&no;
dbms_output.put_line(’ 雇 员 名 : ’ ||v_ename||’,’||' 工 资 : '||
v_sal);
end;
/ 回车
5) 实例 3(有定义、执行和例外部分的块)
declare
v_ename varchar2(5);
v_sal number(7,2);
begin
select ename,sal into v_ename,v_sal from emp where
empno=&no;
dbms_output.put_line(’ 雇 员 名 : ’ ||v_ename||’,’||' 工 资 : '||
v_sal);
exception
when no_data_found then
dbms_output.put_line(’编号有误,请重新输入’);
end;
/ 回车
5. 存储过程
实例 4(要求输入用户名和新的工资,即可修改该用户的工资)
Create procedure sp_pro4(spname varchar2,newsal number) is
Begin
Update emp set sal=newsal whwere ename=spname;
End;
/ 回车
然后 exec 调用该过程即可实现修改工资的功能。
5 / 23
剩余22页未读,继续阅读
资源评论
liangpantang
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功