天道酬勤,恒者能胜。追求卓越,成功就会在不经意间追上你。

数据库SQL语言之存储过程与SQL/PSM(六)

上一篇 / 下一篇  2013-01-09 17:58:16 / 精华(1) / 置顶(1) / 个人分类:Oracle数据库

昨天去表弟家,一段时间不见他家的仙人球突然大了不少, 
很疑惑,阿姨看到了,说:别看了,这盆是昨天刚买的。 
我问,之前那盆呢?阿姨幽幽的说:被你弟当牙签用完了...



由于数据库的应用逻辑日益复杂,仅仅使用SQL语句存在很大局限性,因此提出了SQL标准的存储过程Stored Procedure)和SQL/PSMPersistent Stored Module,持久存储模块)技术

1、 存储过程

a)        定义:是使用SQL语句和流程控制语句编写的模块,存储过程经编译和优化后存储在数据库服务器端的数据库中,使用时调用即可。

b)        优点:

                        i.             提高运行速度;

                      ii.             增强了SQL的功能和灵活性;

                     iii.             可以降低网络的通信量;

                     iv.             减轻了程序编写的工作量;

                      v.             间接实现安全控制功能。

c)        存储过程的语法:

Create procedure <过程名> (<参数>)

         <局部声明>

         <过程体>

d)        函数的语法

Create function <函数名> (<参数>)

         Returns <返回类型>

         <局部声明>

         <函数体>

e)        参数的说明

                        i.             每个参数都应当有一个参数类型,该参数类型应试一种SQL数据类型

                      ii.             每个参数都应当有一个参数模式,in/out/inout分别代表只能输入值/只能输出值/即可输入又可输出值

f)         存储过程和函数的调用

                        i.             定义:由于存储过程和函数得到了DBMS的持久存储,因此应当能够由各种SQL接口和程序设计技术调用这些过程和函数

                      ii.             语法:

Call <过程名>(<参数列表>)

2、 SQL/PSM

a)        定义:SQL/PSMSQL标准的一部分,指定了如何编写持久存储模块,提供流程控制语句来表示过程处理的应用逻辑

b)        顺序执行

                        i.             定义:过程体中所有语句在没有发生流程跳转时按照语句的过程体出现的自然顺序连续执行。

c)        条件分支语句

                        i.             定义:根据条件表达式的执行结果来确定后续执行的语句分支

                      ii.             语法:

If <条件> then <语句列表>

Elseif<条件>then<语句列表>

…..

Else<语句列表>

End if

d)        循环语句

                        i.             定义:根据条件进行判定执行多少次循环

                      ii.             标准的while循环结构

While <条件> do

         <语句列表>

End while

                     iii.             标准的repeat循环结构

Repeat

         <语句列表>

Until<条件>

End repeat

                     iv.             基于游标的循环结构

For <循环名> as <游标名> cursor for <查询> do

         <语句列表>

End for

零测试


TAG: 零测试 function FUNCTION Function 条件 循环 procedure PROCEDURE 存储过程 函数

 

评分:0

我来说两句

Open Toolbar