DB2函数调用方法

数据库
DB2数据库中,应该如何调用函数呢?对于很多刚刚接触DB2数据库的新人来说,可能都提到过这个问题。阅读下文,您就可以找到答案。

DB2函数调用是我们最常用的操作之一,下面就为您详细介绍DB2函数调用的实现方法,供您参考,希望对您能够有所帮助。

用户在DB2中定义函数时如果涉及到了特定的表操作,是无法像系统函数那样进行调用的。这时我们可以使用如下语句查询函数的返回值:
values unction_name(input_paramter_list)
如:
values online( 'user1', date( '2009-5-5'));
如上语句会将返回值构建一个虚表并显示。如果我们要在函数中引用返回值,可以通过如下语句进行查询:
select * from (values online( 'user1', date( '2009-5-5'))) as a;
注意整个values语句作为嵌套查询时被引用的表,因此应该将其括起来,并赋予别名(a)。该语句即可在jdbc或hibernate等数据库操作解决方案中用于函数online(username, time)返回值的查询。

VALUES语句
先看如下语句:
insert into log(uid,operation,logtime)
values
(4,1,CURRENT timestamp),
(4,1,CURRENT timestamp),
(4,0,CURRENT timestamp);
这是常用的insert语句,语句使用values语句获得一个结构与log相同,含有如上三条记录的虚表,并将其插入log表。
再看如下语句:
select * from
(
values
(4,1,CURRENT timestamp),
(4,1,CURRENT timestamp),
(4,0,CURRENT timestamp)
) as log(uid, operation, logtime);
该语句从别名为log的虚表(定义如上)中查询所有记录。也可以不在别名后添加字段别名,这样返回的表会以自增的正整数从左到右标识字段。
以上语句均使用到了values语句。可以看出values语句获取返回值并构建了一个虚表。我们可以通过values实现很多功能(以下不断更新):
0. 将常量、常量组成的列表、变量、返回值等构建为虚表。
如:select * from (values 1,2) as a;
或:select * from (values 1,2) as a(OK) where OK=1;
这是其本身的功能,通过该特性可以获得诸多应用方法见下;
1. select或insert语句的编写(如上);
2. 函数返回值的引用。可见本文开头:DB2函数的调用。values语句适用于任何函数,而部分特殊函数的返回值可能只能通过该语句获取。

 

 

【编辑推荐】

SQL SERVER连接DB2数据库

DB2索引创建原则

DB2循环查询的实现方法

DB2分区数据库的前滚操作

三类DB2数据库备份方案

责任编辑:段燃 来源: 互联网
相关推荐

2010-11-03 16:25:51

DB2列函数

2010-11-03 10:46:49

DB2存储过程

2010-09-07 08:27:17

DB2常用函数

2010-11-02 14:08:29

DB2创建用户

2010-11-03 14:16:29

DB2增量备份

2010-11-04 13:25:16

DB2在线导出

2011-03-16 13:02:47

DB2数据复制迁移

2010-11-03 13:36:51

DB2时间函数

2010-11-02 14:37:58

DB2临时表定义

2010-11-03 14:10:23

DB2在线备份

2009-12-16 10:42:04

.NET DB2

2010-11-03 14:57:44

DB2备份所有表

2010-11-02 11:08:11

DB2循环查询

2010-11-02 11:43:11

DB2动态SQL

2010-09-01 11:17:29

DB2备份

2010-08-31 15:08:14

DB2INSERT优化

2010-09-01 14:00:01

DB2表空间

2010-09-01 09:40:33

DB2函数OLAP

2010-09-07 08:35:40

DB2常用函数

2011-08-10 17:00:45

DB2数据库存储过程
点赞
收藏

51CTO技术栈公众号