火鸟自定义内置函数,方便、强大。
特点:只可以返回单值,不能返回多行。
若想返回多行table,可以定义存储过程 Procedure,用suspend返回。
自定义内置函数,示例:返回当前批次号。
create or alter function BATCH_NO
returns varchar(10)
AS
declare variable mth varchar(10);
declare variable bt varchar(10);
begin
/* Function Text */
select extract(month from current_date) from rdb$database into :mth;
if(char_length(:mth) = 1) then
mth = '' || mth; select extract(year from current_date) || :mth || extract(day from current_date)
from rdb$database into :bt;
return bt; end
调用方式: select batch_no() from rdb$database; 结果:20180722
或者这样也行:
insert into m_user (code)
values(batch_no());