如何在DB2中创建一个从序列中获取值并返回它的函数?
应该可以在select或insert语句中使用该函数,例如:
select my_func() from xxx
insert into xxx values(my_func())
基本上我在复杂的公式中使用序列值,我想将计算封装在函数中。
编辑:我不是问如何从序列中获取下一个值。
答案 0 :(得分:8)
CREATE FUNCTION "MYSCHEMA"."MY_FUNC"(PARAM1 VARCHAR(4000))
RETURNS INT
SPECIFIC SQL110520140321900 BEGIN ATOMIC
DECLARE VAR1 INT;
DECLARE VAR2 INT;
SET VAR1 = NEXTVAL FOR MY_SEQ;
SET VAR2 = VAR1 + 2000; --or whatever magic you want to do
RETURN VAR2;
END
尝试一下:
SELECT MY_FUNC('aa') FROM SYSIBM.SYSDUMMY1;