当前位置:
文档之家› Oracle的PLSQL和存储过程
Oracle的PLSQL和存储过程
PL/SQL构建于SQL自上,可以用来编写SQL语句的程序.
PL/SQL也是一种程序语言,使用PL/SQL可以编写具有很多高级功能的程序:
(1). 能够使一组SQL语句的功能更具模块化程序特点; (2). 采用了过程性语言控制程序的结构; (3). 可以对程序中的错误进行自动处理,使程序能够在遇到错误的时候不会被中断; (4). 具有较好的可移植性,可以移植到另一个Oracle数据库中。
调用过程: exec test_procedure
总结
一.PL/SQL的基本语法? 二.存储过程怎么建,怎么用?
作业要求
1、建立一个存储过程,并传入一个参数, 向指定的表插入传入参数条数的记录数。 (会用到序列)
本节结束,继续努力!
Oracle-PLSQL和存储过程
求学客
主讲:风云张
版权声明
本课件由求学客网()编制, 仅供求学客的学员学习使用; 求学客享有本课件中的文字叙述、文档格式、插图、
照片等所有信息资料的版权,受知识产权法及版权
法等法律、法规的保护。任何个人或组织未经网新 集团的书面授权许可,均不得以任何形式使用本课
case的第1种用法:
PL/SQL示例
case col when 'a' then 1 when 'b' then 2 else 0 end case的第2种用法:
case when score <60 then 'd'
when score >=60 and score <70 then 'c' when score >=70 and score <80 then 'b'
(5). 集成在数据库中,调用更快.
(6). 减少了网络的交互,有助于提高程序性能.
PL/SQL基本结构
PL/SQL块组成:声明、执行体开始、异常处理、执行体结束:
DECLARE—可选部分:变量、常量、游标、用户定义异常的声明
……
BEGIN—必要部分:SQL语句和PL/SQL语句构成的执行程序
…… EXCEPTION—可选部分:程序出现异常时,捕捉异常并处理异常 …… END;—必须部分
c. for variable in low_bound . . upper_bound loop … end loop;
顺序结构:
goto
循环结构1
declare v_i number :=1; loop insert into tbl_user values(sq_tbl_user.nextval,'liyang'||v_i,'sss',0,23,sysdate,null,null, 5); if v_i>10 then exit; end if; v_i:= v_i+1; end loop;
件的任何内容,否则将视为不法侵害,网新天津保
留追究侵权人相关法律责任的权利
本课目标
PLSQL简介 PLSQL基本结构 PLSQL示例 PLSQL基本语法 存储过程
PL/SQL简介
基本SQL语句很常用,相对于SQL而言Oracle公司在SQL基础上引入
一种过程化编程语言---PL/SQL(Producedural Language/SQL),
当循环条件不满足时用exit推出循环
循环结构2
for i in 1..10 loop insert into tbl_user values(sq_tbl_user.nextval,'liyang'||i,'sss',0,23,sysdate,null,n ull,5); end loop;
while v_i<10 loop insert into tbl_user values(sq_tbl_user.nextval,'liyang'||v_i,'sss',0,23,sysdat e,null,null,5); v_i:=v_i+1; end loop;
V_f12 number :=2;
V_f21 varchar2(20) :=‘first’; V_f22 varchar2(20) :=‘second’; Begin Insert into t1 values (V_f11, V_f21); Insert into t1 values (V_f12, V_f22); End test_procedure; /*test_procedure可以省略*/
else 'a' end
例:select (case when DUMMY='X' then 0 else 1
end) as flag from dual;
存储过程
PL/SQL中的过程和函数是为了执行一定的任务而组合在一起的语句。
过程由SQL语句组成,如INSERT和SELECT语句,但也包含过程语句,
如IF-THEN-ELSE。
不同的数据库厂商有不同的标准。如:Oracle使Байду номын сангаасPL/SQL语言,
Sybase和Microsoft SQL服务器使用Transact-SQL语言…
创建存储过程:
创建存储过程
Create or replace procedure procname(参数列表) as PL/SQL语句块 Create or replace procedure test_procedure as V_f11 number :=1; /*声明变量并赋初值*/
PL/SQL示例
PL/SQL程序都是以块(block)为基本单位
PL/SQL程序流程结构
PL/SQL程序段中有三种程序结构:
if condition then 条件结构: statement1 else statement2 end if ;
循环结构:
a. loop … end loop;
b. while condition loop … end loop;