db2存储过程
db2创建存储过程 DB2存储过程入门实例
作者:互联网 来源:互联网 点击数: 更新时间:2010年11月09日
DB2存储过程入门实例
昨天安装了DB2Express-C版本,之前曾经写过Oracle的存储过程。在Oracle里写存储过程是一件很简单的事情,编译也是很简单。而想写DB2的存储过程则没那么容易,部署编译存储过程要是没有集成开发环境(如IBM data studio)或者不清楚的db2命令的话,那是让人很痛苦的事。而我就是其中的一位,我不想下载6百多M的开发环境,只好自己用txt文档编辑器写存储过程了,简单的存储过程是容易写的,按照db2 存储过程的语法去写就OK了。痛苦的是写好了不知道怎么样部署。以下以我刚刚写的一个简单的存储过程为例,说说DB2存储过程从编写代码到部署编译最后运行的过程。
首先,编写代码,代码如下:
CREATE PROCEDURE sales_status() ---存储过程可以设定输入参数和输出参数
LANGUAGE SQL ----DB2可以用多种语言编写存储过程,这里用的是纯SQL
BEGIN ---开始
DECLARE vID smallint; ---定义变量 和Oracle一样 DECLARE 变量名 变量的数据类型;
FOR V AS SELECT BRND_CD FROM TMP_BRND_CD ---for循环 tmp_brnd_cd预先创建好
DO ---循环体开始
SET vID=BRND_CD; ---对vID赋值,db2可以用set赋值,也可以用values赋值,这里可以写成values(BRND_CD) into vID
INSERT INTO WWM_FORINSERT_TEST VALUES(vID); ---往wwm_forinsert_test 插入数据
END FOR; -----循环体结束
END @ -----存储过程结束
把代码文件保存为db2文件,我的文件名为 sample.db2,路径为:E:\db2pro
接着就是部署编译存储过程了,我下载了一两本电子书看,可惜都没说到怎么用命令行模式部署以及编译存储过程的,都介绍在集成开发环境下部署编译。~~~晕~~,幸亏在网上找到了(不过也找的挺辛苦的~~)。
在Windows下,进入命令模式,然后输入 db2cmd 就会进入db2 命令模式,然后输入 db2 -td@ -vf E:\db2pro\sample.db2 就开始编译存储过程了~~~!要是报错,那就要检查代码罗~。改完代码,重新编译罗~~~!
最后,运行存储过程,存储过程部署编译后,就是调用存储过程了。
db2 里使用call 命令调用存储过程,在db2命令模式下输入db2 call sample()即可~!
以上,只是一个简单的例子,很多东西还没涉及如出错处理,游标,在存储过程里使用临时表等等~~!
页:
[1]