案例一:根据传入的值返回一个满足条件的值。适用于查询的字段(经过较复杂逻辑得出)

CREATE FUNCTION "FAS"."GET_ALL_NAME" ( "A_ID" BIGINT )
RETURNS VARCHAR(9000)
SPECIFIC "SQL131107190046233"--SPECIFIC名称不能与其他FUNCTION的重复
LANGUAGE SQL
NOT DETERMINISTIC
EXTERNAL ACTION
READS SQL DATA
CALLED ON NULL INPUT
INHERIT ISOLATION LEVEL WITHOUT LOCK REQUEST
INHERIT SPECIAL REGISTERS
BEGIN ATOMIC
--声明变量
DECLARE A_CURR_ID BIGINT DEFAULT 0 ;
DECLARE A_CURR_NAME VARCHAR(50) DEFAULT '' ;
DECLARE SRETURN VARCHAR(1000) DEFAULT '' ;
--设置变量值
SET A_CURR_NAME= (SELECT NAME FROM FA_DEPARTMENT WHERE ID=A_ID);--当前名称
SET A_CURR_ID= (SELECT PARENT_ID FROM FA_DEPARTMENT WHERE ID=A_ID);--当前名称
SET SRETURN='_'||A_CURR_NAME;
--WHILE循环
WHILE A_CURR_ID>0 DO
SET A_CURR_NAME= (SELECT NAME FROM FA_DEPARTMENT WHERE ID=A_CURR_ID);--当前名称
SET A_CURR_ID= (SELECT PARENT_ID FROM FA_DEPARTMENT WHERE ID=A_CURR_ID);--当前名称
SET SRETURN='_'||A_CURR_NAME||SRETURN;
END WHILE;
--返回值
RETURN SRETURN;
END;

说明:该示例传入参数A_ID,通过A_ID查询相关数据。并将结果以字符串格式返回。

该方法可在sql语句中调用。如下:

select GET_ALL_NAME(21) from SYSIBM.SYSDUMMY1

使用场景:可将其作为一个sql查询语句的列字段值,也可以用在where字句中。


若需要Function返回结果集请看:DB2创建function(二)

DB2创建function(一)的更多相关文章

  1. DB2创建function(二)

    DB2创建function(一),介绍将function内容作为字段值,或做为一个where条件的情况. DB2创建function(二),介绍返回的内容为一个集合的情况.调用结果集的示例如下: se ...

  2. db2 创建function报错

     create function fun_fw_sfyczy(pi_operunitid varchar(2)) returns varchar(2)LANGUAGE SQL BEGIN ATOMIC ...

  3. How to create DB2 user function easily by DB Query Analyzer 6.03

    How to create DB2user function easily by DB Query Analyzer 6.03 Ma Genfeng (Guangdong Unitoll Servic ...

  4. JavaScript 基础(二) - 创建 function 对象的方法, String对象, Array对象

    创建 function 对象的两种方法: 方式一(推荐) function func1(){ alert(123); return 8 } var ret = func1() alert(ret) 方 ...

  5. DB2创建数据库常用参数详解

    转自http://czmmiao.iteye.com/blog/1335801 DB2创建数据库常用参数详解 本文只介绍DB2 create database语法中的常用参数http://publib ...

  6. 如何在开启了log-bin的MySQL Server中创建FUNCTION

    在MySQL主从复制机器的master的数据库中创建function,报出如下错误: Error Code: 1418. This function has none of DETERMINISTIC ...

  7. DB2创建EMP和DEPT并进行基础操作

    一.DB2创建EMP和DEPT测试表 --DB2创建测试表 CREATE TABLE TEST.EMP (EMPNO INTEGER NOT NULL, ENAME ), JOB ), MGR INT ...

  8. db2创建nickname

    db2创建nickname创建步骤 1.创建 server create server servername type DB2/AIX version 10.5 wrapper drda authid ...

  9. DB2创建序列

    一.创建序列 序列是按照一定的规则生产的数值,序列的作用非常的大,比如银行交易中的流水号,就是记录每笔交易的关键字段. 通过create sequence语句创建序列,具体语法如下: >> ...

随机推荐

  1. css3 flex弹性盒子布局梳理,打通任督二脉

    挺早就接触了css的flex布局,深入使用也就是在近期移动端开发.老来多健忘,只能自己梳理一下知识点,当做温故知新吧. ,请原谅小白的才疏学浅,写的不到位的地方请指正. flex属性用于设置或检索弹性 ...

  2. python MRO及c3算法

    1. 了解python2和python3类的区别 python2在2.3之前使用的是经典类, 2.3之后, 使用的是新式类 2. 经典类的MRO 树形结构的深度优先遍历 -> 树形结构遍历 cl ...

  3. 巧用css的border属性完成对图片编辑功能的性能优化

    一.需求场景: 最近闲来无事,boss提出了一个要求,研究相关代码并完成一个关于编辑图片功能的性能优化,该功能的主要界面展示如下: 通过了几分钟的短暂试用,发现就是一个简单的裁剪并保存用户选择并上传的 ...

  4. 浅谈对NaN的理解

    1.NaN : Not a Number 不是一个数字 2.NaN 与其他数值进行比较的结果总是不相等的,包括它自身在内 3.判断是否是NaN, 方法一  :is.NaN(变量): 方法二   :Nu ...

  5. 【代码笔记】iOS-mp3的播放

    一,工程图. 二,代码. RootViewController.h #import <UIKit/UIKit.h> //加入AVFoundation.framework头文件 #impor ...

  6. css设计并排布局

    css code form#reset_password ul { list-style: none; margin: 0 0 20px 200px; padding:; } form#reset_p ...

  7. WOE和IV

    woe全称是"Weight of Evidence",即证据权重,是对原始自变量的一种编码形式. 进行WOE编码前,需要先把这个变量进行分组处理(离散化) 其中,pyi是这个组中响 ...

  8. 基于MSMQ绑定的WCF服务实现总结

    一. 创建消息队列    1 1) 创建一个非事物性的私有队列    1 2)设置消息队列访问权限    2 二.创建WCF服务并绑定消息队列    4 1)创建HelloService服务    4 ...

  9. Linux 同步时间 设置时区

    简化版 同步时间 #直接用域名同步中国上海时间 ntpdate -u ntp.api.bz # hwclock --hctosys 或者 # clock --hctosys hc代表硬件时间,sys代 ...

  10. innodb索引统计信息

    以下分析基于mysql5.6.10 统计信息相关字典表 information_schema.statistics mysql.innodb_table_stats mysql.innodb_inde ...