没有合适的资源?快使用搜索试试~ 我知道了~
orcale-plsql编程教程
5星 · 超过95%的资源 需积分: 16 12 下载量 162 浏览量
2012-05-11
16:12:03
上传
评论 1
收藏 162KB DOCX 举报
温馨提示
试读
32页
orcale数据库,使用plsql编程的详细教程,包括基础的增删改查,还有视图,存储过程,包,游标等等。。
资源推荐
资源详情
资源评论
PL/SQL 编程 基础篇
-- PL/SQL
基础
什么是
PL/SQL
?
加入了编程性的结构化得语言结构,使得标准 SQL(注意:我们现在采用的 SQL 标准基于 92
标准)能够像程序语言一样,执行相关业务逻辑的处理。
例如:异常处理 业务程序逻辑等
PL/SQL
的特点是,将业务逻辑处理部分、变量声明部分、异常处理部分分开。将原来以散列
结构的
SQL
语句编程一个批量化执行的
SQL
语句块。
语句块:
指的是有一个开始的地方和一个结束的地方,就称之为语句块。
Begin ---
程序的开始
End
;
----
程序的结束 结束的时候注意:“分号”
PL/SQL
的工作原理与工作过程
1
、 执行过程相当于在执行程序的编译,该工作由
PL/SQL
引擎来完成,工作原理:
PL/SQL
引擎
过程语句执行器
先由
PL/SQL
引擎接受用户的
PL/SQL
语句块,进行翻译,然后由过程语句执行器解析控
制过程语言部分,将
SQL
语句提取出来转发给
SQL
语句执行器 。
2
、
SQL
语句执行器接收
PL/SQL
引擎发送过来的
SQL
语句进行数据库的操作,并将结果返回
给
PL/SQL
引擎。
3
、
PL/SQL
引擎将服务器的执行结果返回给用户。
PL/SQL
注释
PL/SQL
注释有两种:单行注释、多行注释
1
、 单行注释 –
-
开始
例如:
--
声明变量
V_id number;
2
、
多行注释
/* */
例如:
/*
*
对
PL/SQL
用途的一个说明
*
作者:
*
时间:
*SQL
的名称
*/
PL/SQL
的基本结构
PL/SQL
的结构:
变量定义部分
Declare ----
定义变量开始
Begin ----
结束
逻辑部分
Begin ----
程序开始
End
;
----
结束程序
异常处理部分
Begin
Exception ----
异常处理
End
;
PL/SQL
块还可以被称之为:匿名的
PL/SQL
块
注意:
在日常开发中,写的
PL/SQL
块都要一次性将结构写完,然后再进行业务逻辑处理部分的写
作。
Declare
Begin
Exception
End
;
PL/SQL
变量的声明与赋值
变量声明:
1
、标示符 (要注意:命名规范和可用字符 )
2
、 数据类型 (可以使用的数据库类型包括:基本数据库类型【
Oracle
所支持所有的基本数
据类型】、复合数据类型【
%type
、
%rowtype
、
record
、
table
】)
示例:
----
声明了一个
number
类型的变量
V_id number ;
常量声明:(声明方式和变量的声明方式一样)。
常量声明需要用关键字:
CONSTANT
来标示它为常量。常量必须在声明的时候赋值,以后不能
作值的修改。
变量和常量的赋值:
1
、直接赋值 使用“:
=“
可以为变量或常量直接赋值。
例如:
v_id number := 10;
2
、
select into
的语句或者
fetch into
语句给变量或常量赋值
例如:
V_id number;
采用
select into
赋值:
Select empno into v_id from emp where empno = 7788
;
采用
fetch into
赋值:
Fetch
游标
into
变量 ;
----
(游标在后续课程中作讲解)
命名的规范示例:
当定义变量时,建议用
v_
作为前缀,如
v_sal
当定义常量时,将以用
c_
作为前缀,如
c_rate
当定义游标时,建议用
_cursor
作为后缀,如
emp_cursor
当定义例外时,建议用
e_
作为前缀,如
e_error
屏幕输出包
当我们在 PL/SQL 编辑器里面使用屏幕输出语句的时候,需要使用到系统给我们提供一个输出
包:
DBMS_OUTPUT ----屏幕输出包
在该包下面有几个我们常用过程:
PUT_LINE ----向屏幕输出一行字符,并换行
NEW_LINE ----向屏幕输出新的一行字符
PUT ----向屏幕输出一行字符,不换行
注意:
当我们执行的 PL/SQL 语句块是在 SQLPLUS 里面的话,需要先将屏幕输出选项打开。
SET SERVEROUTPUT ON;
-- PL/SQL
基本数据类型
基本数据类型包括:
基本数据类型通常情况下面是用来声明一个简单的变量。
--
简单变量
:
只能够保存一个值,不包含其他的组件的变量。
BINARY_INTEGER
NUMBER [(precision, scale)]
CHAR [(maximum_length)]
VARCHAR2(maximum_length)
DATE
LONG
LONG RAW
CLOB / BLOB / BFILE
BOOLEAN
示例:
v_gender CHAR(1);
v_count BINARY_INTEGER := 0;
v_total_sal NUMBER(9,2) := 0;
v_order_date DATE := SYSDATE + 7;
c_tax_rate CONSTANT NUMBER(3,2) := 8.25;
v_valid BOOLEAN NOT NULL := TRUE;
declare
v_gender char(1);
begin
v_gender := M;
DBMS_OUTPUT.PUT_LINE(V_GENDER);
end;
-- PL/SQL
复合数据类型
复合数据类型包括:
1. %type
Gender ----
隐藏此数据类型
char(1);
引用该
数据类型来作为该变
量的数据类型。
V_sex
数据类型未知;
声明变量:
v_sex
用来获取
Gender
列的数据。
现在我就只能使用对
Gender
这列的数据类型进行引用。
数据类型的引用就使用
%type
来完成。
日常
PL/SQL
编程过程中,当我们对表中的数据列不知道是何种基本数据类型的时候,通
常是使用
%type
来作为一个简单变量的一个声明过程。声明过程中就使用该列的列名来当
做数据类型的声明就可以了。
示例:
--
声明一个
%type
的引用变量
V_sex
表名
.
列名
%type
;
/*
*
该
PL/SQL
用来处理一个员工信息的获取
*
作者:
kenny
*
日期:
2011/11/14
*/
declare
--
声明变量,不用赋初始值
v_ename emp.ename%type;
v_job emp.job%type;
v_sal emp.sal%type;
v_comm emp.comm%type;
begin
--
使用
select into
语句给变量赋值
--
在未使用游标之前,只能处理单行数据的返回
&
标示接收用户输入的占位符
select ename, job, sal, comm
into v_ename, v_job, v_sal, v_comm
from emp
where empno = &empno;
--
对变量的值进行输出
dbms_output.put_line('员工姓名:'||v_ename);
dbms_output.put_line('员工工作:'||v_job);
dbms_output.put_line('员工工资:'||v_sal);
dbms_output.put_line('员工补贴:'||nvl(v_comm,0));
end;
2. %rowtype
跟
%type
一样,
%rowtype
也是用来处理数据类型引用的。 它们不同的地方是:
%type
处理的是数据表中一列数据的数据类型的引用
%rowtype
处理的是数据表中一行数据的数据类型的引用
在日常开中,通常情况下面使用
%rowtype
来处理要返回某张表的所有列数据的时候。
示例:
--
声明一个
%rowtype
的引用变量
V_empinfo emp%rowtype; --
该变量里面包含了
emp
中得所有字段
--
使用变量来取值的时候,需要使用变量加上“
.“
列名来提取数据
V_empinfo.ename
;
/*
*
该
PL/SQL
用来获取一个员工的所有信息。
剩余31页未读,继续阅读
资源评论
- 丨流年丨2013-05-06这个还行,讲解很详细,借鉴下
Fire射手
- 粉丝: 7
- 资源: 17
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功