DB2存储过程基础详解

DB2存储过程基础详解

ID:37322884

大小:215.50 KB

页数:15页

时间:2019-05-21

DB2存储过程基础详解_第1页
DB2存储过程基础详解_第2页
DB2存储过程基础详解_第3页
DB2存储过程基础详解_第4页
DB2存储过程基础详解_第5页
资源描述:

《DB2存储过程基础详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、DB2存储过程-基础详解2010-12-20来源:网络简介DB2SQLProceduralLanguage(SQLPL)是SQLPersistentStoredModule语言标准的一个子集。该标准结合了SQL访问数据的方便性和编程语言的流控制。通过SQLPL当前的语句集合和语言特性,可以用SQL开发综合的、高级的程序,例如函数、存储过程和触发器。这样便可以将业务逻辑封装到易于维护的数据库对象中,从而提高数据库应用程序的性能。SQLPL支持本地和全局变量,包括声明和赋值,还支持条件语句和迭代语句、控制语句的转移、错误管理语句以及返回结果集的方法。这些话题将在本教程中讨论。变量声明SQ

2、L过程允许使用本地变量赋予和获取SQL值,以支持所有SQL逻辑。在SQL过程中,在代码中使用本地变量之前要先进行声明。清单1中的图演示了变量声明的语法:清单1.变量声明的语法.-,-----------------.V

3、

4、--DECLARE----SQL-variable-name-+------------------------------->.-DEFAULTNULL------.>--+-data-type--+-------------------+-+-------------------------

5、

6、'-DEFAULT--constant-'

7、SQL-variable

8、-name定义本地变量的名称。该名称不能与其他变量或参数名称相同,也不能与列名相同。图1显示了受支持的DB2数据类型:DEFAULT值–如果没有指定,在声明时将赋值为NULL。下面是变量声明的一些例子:•DECLAREv_salaryDEC(9,2)DEFAULT0.0;•DECLAREv_statuschar(3)DEFAULT‘YES’;•DECLAREv_descritionVARCHAR(80);•DECLAREv1,v2INTDEFAULT0;请注意,从DB2version9.5开始才支持在一个DECLARE语句中声明多个相同数据类型的变量。数组数据类型SQL过程从9.5版

9、开始支持数组类型的变量和参数。要定义一个数组类型的变量,需要先在数据库中创建该类型,然后在过程或应用程序中声明它。数组是临时的值,可以在存储过程和应用程序中操纵它,但是不能将它存储到表中。DB2支持以下创建数组数据类型的语法:清单2.创建数组数据类型的语法Sql代码1.>>-CREATETYPE—array-type-name--AS--

10、data-type

11、--ARRAY--[---------->2.3..-2147483647-------.4.>--+------------------+--]-------------------------------------><5.

12、'-integer-constant-'数组类型的名称应该用模式加以限定,并且在当前服务器上应该是惟一的。LONGVARCHAR、LONGVARGRPAHIC、XML和用户定义类型不能作为数组元素的数据类型。下面是数组类型的例子:Sql代码1.CREATETYPEnumbersasINTEGERARRAY[100];2.CREATETYPEnamesasVARCHAR(30)ARRAY[];3.CREATETYPEMYSCHEMA.totalcompasDECIMAL(12,2)ARRAY[];请注意,整数“constant”指定数组的最大基数,它是可选的。数组元素可以通过ARRAY

13、-VARIABLE(subindex)来引用,其中subindex必须介于1到数组的基数之间。现在可以在SQL过程中使用这个数据类型:清单3.在过程中使用数组数据类型Sql代码1.CREATEPROCEDUREPROC_VARRAY_test(outmynamesnames)2.BEGIN3.DECLAREv_pnumbnumbers;4.SETv_pnumb=ARRAY[1,2,3,5,7,11];5.SETmynames(1)=’MARINA’;6.7.…8.ENDDB2支持一些操作数组的方法。例如,函数CARDINALITY(myarray)返回一个数组中元素的个数。赋值SQL

14、PL提供了SET语句来为变量和数组元素赋值。下面是一个SET语句的简化的语法:SETvariable_name=value/expression/NULL;这个变量名可以是一个本地变量、全局变量或数组元素的名称。下面是一些例子:清单4.SET语句的例子SETvar1=10;SETtotal=(selectsum(c1)fromT1);SETvar2=POSSTR(‘MYTEST’,’TEST’);thSETv_numb(10)=20;--assignval

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。