搞db2也2年了,一直都没搞过存储过程,最近想学下,到网上看到这个很全的例子,这里我给它加上注释,给初学者有个学习语法的机会 ,黑色的为原来的例子部分,红色的我加上的语法注释,希望能对大家有所帮助,下面就开始我们美好的历程:
CREATE PROCEDURE IPD.st_inter_PROF ( IN in_Transfer_id dec(6,0),
IN in_TRANS_TYPE_id dec(2,0),
IN in_begin_date timestamp,
IN in_TRANSFER_name varchar(1024),
OUT o_err_no int,
OUT o_err_msg varchar(1024) )
LANGUAGE SQL
(说明:定义存储过程名后面括号的部分为输入输出参数定义。IN 表示输入参数,OUT表示输出参数,INOUT表示既是输入参数也是输出参数,参数类型就这3种了。例子中的dec(6,0)为参数的数据类型还可以为smallint 、bigint等)。<o:p></o:p>
(例子中的LANGUAGE SQL表示此存储过程是sql存储过程,还可以是用c写的存储过程,具体自己查资料吧。这里除了LANGUAGE SQL,还可以有其他说明:DYNAMIC RESULT SETS integer, SPECIFIC specific-name等。具体可以下载下面的附件说明。也可以看我blog文章:http://acme1921209.iteye.com/blog/97863)<o:p></o:p>
---------------------------下面开始存储过程的主体---------<o:p></o:p>
P1:BEGIN --(这里begin对应后面的end,表示一块。可以嵌套 benin begin end end )<o:p></o:p>
--临时变量出错变量<o:p></o:p>
declare rec integer default 0;<o:p></o:p>
--声明变量 (注意变量前缀和输入输出变量前缀i ,o ,v,n)
declare v_name varchar(1000);
declare n_rows_all bigint;
<o:p> </o:p>
--声明静态游标()
DECLARE c1 CURSOR FOR SELECT XM FROM T_RYXX WITH UR;
--声明动态游标
DECLARE V_C1 VARCHAR(50);
DECLARE c2 CURSOR FOR S1;
--声明出错处理 (出错处理声明应当位于变量声明和游标声明后面)(所谓的出错处理就是当程序出错时进行怎么样的操作,这个操作就是在这里定义)(具体出错处理说明可以看这里的最佳实践4:http://acme1921209.iteye.com/admin/show/97829)
DECLARE EXIT HANDLER FOR SQLEXCEPTION
Begin
………
End
DECLARE continue HANDLER for not found
begin
……….
end;
--开始啦
SELECT XM INTO V_NAME FROM T_RYXX WHRE RYXXID= in_Transfer_id(in_Transfer_Id<o:p></o:p>
为输入参数)
<o:p> </o:p>
---对上面动态游标的应用<o:p></o:p>
Set V_C1 = ‘select xm from t_ryxx fetch first 20 rows only with ur’;
PREPARE S1 FROM V_C1;
OPEN C1;
fetch_loop1:
loop
--loop主体,这里省略了,具体的可以看下面的附件,附件里有此存储过程的完整源代码,当然也有关于loop的详细语法说明,大家也可以去db2信息中心搜索,这个loop语法说明也是从db2信息中心下的<o:p></o:p>
end loop fetch_loop1; ----(loop结束)
…..—(关于存储过程的其他语法就不多说了)
END P1; ---(存储过程结束)<o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
注:下面附件附件内容还是很全面的,我初学基本就是看了下面的资料,当然也是网上很常见的那些,附件中的PROCEDURE-Example.sql为此存储过程的完整代码)<o:p></o:p>
分享到:
相关推荐
DB2 错误代码大全 DB2 错误代码大全是一个包含常见 DB2 错误代码及其相应中文信息的文档。该文档提供了大量的 DB2 错误代码信息,涵盖了从 SQL 语句成功完成到各种错误情况的代码说明。 以下是 DB2 错误代码大全中...
DB2错误代码大全,所有db2出现错误的代码基本上都能在本文档中查询到,中文版
### DB2 代码页设置详解 #### 一、引言 在DB2数据库管理系统中,字符编码(也称为代码页)对于确保数据正确存储和检索至关重要。本文将深入探讨DB2中的代码页设置方法,包括实例级别的代码页设置以及数据库级别的...
DB2错误代码对照表是DB2数据库管理系统中用于帮助用户理解和解决遇到的错误问题的重要工具。DB2作为一款广泛使用的数据库系统,其错误代码通常包含了详细的错误信息,可以帮助管理员快速定位并修复问题。以下是部分...
DB2错误代码大全详细
DB2 错误代码大全 DB2 错误代码大全是 DB2 数据库管理系统中一个重要的组件,用于记录和管理各种错误代码。这些错误代码可以帮助数据库管理员和开发人员快速地诊断和解决问题,从而提高数据库的可靠性和性能。 ...
在这个"DB2培训源代码"中,我们可以深入学习和实践DB2的一些关键特性,包括JDBC连接、SQLJ的嵌入式使用、存储过程、用户定义函数(UDF)、触发器、大对象操作以及序列的运用。 1. **JDBC连接**:Java Database ...
本文将深入解析DB2错误代码大全,帮助读者理解和解决DB2数据库操作中的常见问题。 首先,我们要理解SQLSTATE的概念。SQLSTATE是一个五字符的标识符,用来描述在执行SQL语句时遇到的问题。它由两个字母和三个数字...
DB2实例代码(300个)集合是一个深入学习DB2数据库管理系统的宝贵资源,它涵盖了从基础到高级的各种操作,包括查询、更新、建表以及数据优化等关键环节。这个压缩包中的"BLP-IT-DEV-TR-080310-01 DB2 9 Structure ...
db2存储过程相关例子,很实用,很帮助初学者快速上手!
本文档列出所有DB2数据库的错误代码,SQLSTATE及其含义
在使用DB2过程中,可能会遇到各种错误,这些错误通常会通过错误代码和SQLSTATE来表示。SQLSTATE是一个五位数字代码,用于分类和标识SQL语句执行过程中出现的问题。以下是关于DB2错误代码和SQLSTATE的详细解释。 1. ...
DB2是IBM开发的一款关系型数据库管理系统,广泛应用于企业级数据存储和管理。在使用DB2过程中,可能会遇到各种错误代码...通过深入学习和实践,可以有效提升对DB2数据库管理的技能,从而更好地应对可能出现的各种问题。
3. **连接DB2的代码示例**:连接DB2数据库的Java代码通常会包含以下步骤: - 导入必要的JDBC库:`import com.ibm.db2.jcc.DB2Driver;` - 注册JDBC驱动:`Class.forName("com.ibm.db2.jcc.DB2Driver");` - 建立...
在DB2 V10的学习文档中,我们将会学到数据库管理的各个方面,包括但不限于数据库的安装与配置、安全性管理、性能优化、备份与恢复、数据迁移、监控以及故障排除等。文档通常会提供详细的步骤,指导用户如何在不同的...
在使用DB2过程中,可能会遇到各种错误代码,这些代码是DB2为了帮助用户理解和解决系统出现的问题而设计的。"DB2出错代码解释"及"MESSAGES AND CODES"是两个关键的主题,意味着我们将探讨DB2中的错误消息和对应的代码...