今天在开发的过程用需要写一个function,从一张表里去多条值,让后将其拼接成一个字符串进行返回。刚开始用游标写,死活都不行,老是报错。最后采取下面的方法:
For as
Do
End for;
create function getGuarantyInfo("BCSERIALNO" varchar(40))
Returns varchar(40)
LANGUAGE SQL
begin ATOMIC Declare sReturn varchar(10) Default '';
For v_cur as (select getItemName('GuarantyType',GuarantyType) as GuarantyType,GuarantorName as GuarantyName from GUARANTY_CONTRACT where SerialNo in (Select ObjectNo from Contract_RELATIVE where SerialNo=BCSERIALNO and ObjectType = 'GuarantyContract'))
Do
set sReturn=v_cur.GuarantyType||'-'||v_cur.GuarantyName||';'||sReturn;
End for;
return sReturn;
end
结果行了,不过现在还不了解这叫什么东西呢
分享到:
相关推荐
如果在游标中使用了`WITH HOLD`选项,那么在提交或回滚事务后,游标的状态不会改变。游标有两种常见的处理方式:一种是使用`DECLARE`、`OPEN`、`FETCH`和`CLOSE`语句进行手动控制;另一种是使用`FOR LOOP`语法,更...
本文档主要总结了在首都国际机场、海口梅兰国际机场系统的开发过程中积累的DB2使用经验和心得。这些经验来源于实际项目实践,涉及DB2数据库的多种应用场景和技术细节。所处的运行环境为IBM s80机器,操作系统为AIX...
**注意:** 在DB2中,UDF和触发器中也可以使用游标,但语法略有不同。 ##### 3.3 转换游标的属性 游标的属性可以帮助开发者获取游标的状态信息。 **Oracle:** ```sql IF c1%NOTFOUND THEN -- 处理未找到的情况 ...
- **类似于ORACLE的TRUNCATE清表但不记日志的做法**:在DB2中使用`TRUNCATE TABLE`命令清除表中的所有数据而不记录日志。 - **用CLI编程批量的INSERT**:使用CLI(Call Level Interface)进行批量插入操作,提高...
- 注意点: 在DB2中,需要使用 `WHILE` 循环检查 `SQLSTATE` 的值来判断是否还有下一行数据。 #### 4. 集合 - **Oracle** 和 **DB2** 都支持集合操作,如集合合并、交集等。 - Oracle示例: ```sql SELECT * FROM...
在DB2中,可以使用`DECLARE`、`OPEN`、`FETCH`、`CLOSE`等语句来控制游标。 #### 类似DECODE的转码操作 在DB2中,没有直接对应的`DECODE`函数,但可以使用`CASE`表达式实现相似功能。例如: ```sql SELECT CASE ...
8. **查看FUNCTION被哪些SP使用:** 类似于查看表依赖性的方式,查看哪些存储过程使用了特定的函数。 9. **查SP的ID号:** 使用`VALUES DB2GETDEPID`来获取存储过程的ID号。 10. **从SP的ID号查存储过程名称:** 使用`...
在DB2中创建表时,通常使用`CREATE TABLE`语句。例如: ``` CREATE TABLE tb_market_code ( market_code CHAR(10), -- 其他字段定义 ); ``` 需要注意的是,当创建表时可以指定表空间,如用户临时表空间 (`USER...
DB2作为IBM的一款企业级数据库管理系统,在日常运维与开发过程中难免会遇到各种各样的问题。本手册旨在提供全面的DB2错误解决方案,帮助用户快速定位并解决问题。SQLSTATE消息是DB2错误报告的一个重要组成部分,用于...
8. **查看FUNCTION被哪些SP使用:** 使用`DB2 LIST DEPENDENCIES OF <function_name>`命令可以查看函数被哪些存储过程使用。 9. **查SP的ID号:** 使用`DB2 LIST PROCEDURES`命令可以查看存储过程的ID号。 10. **从...
在**DB2**中,可以声明和使用变量来保存临时数据,以便在存储过程中复用。 ##### S`vmP!q}] 这里可能是在讲解**错误处理**。通过定义错误处理程序,可以在遇到运行时错误时执行特定的操作,增强程序的健壮性。 ###...
本手册是关于IBM DB2 Universal Database(简称DB2 UDB)SQL语言使用的详细指南,适用于DB2 Version 8.2版本。作为一套完善的SQL手册,它为数据库操作与编程提供了有力的支持。 #### 二、目标读者 本手册主要面向...
2.1 DB2 Express-C订购中包含的功能...............................................................................22 2.1.1 Fix packs补丁包..................................................................
- **07004**:动态 SQL 语句中使用的变量未定义。 - **08 - Connection Exception** - **08001**:连接到数据库失败。 - **08002**:连接丢失。 - **08003**:连接被终止。 - **08004**:连接超时。 - **08006...