sybase15自定义函数

[复制链接]
查看11 | 回复4 | 2010-10-8 09:28:51 | 显示全部楼层 |阅读模式
SYBASE 的自定义函数 无法设定返回值么?
各位有没有比较大点的自定义函数 发出来共享以下呗!

脸大了点不过我想学学 呵呵!
回复

使用道具 举报

千问 | 2010-10-8 09:28:51 | 显示全部楼层
怎么无法返回值?
贴出来看看。
回复

使用道具 举报

千问 | 2010-10-8 09:28:51 | 显示全部楼层
CREATEFUNCTION om_get_partcity_f(

@is_area_id
varchar(32)
--区域编码

)
AS
return varchar
declare

@vs_return_partcity
varchar(8),
--分区地市

@vn_area_level
numeric(2,0)
BEGIN



SELECT@vn_area_level=f_area_level

FROM om_area_t

WHERE f_area_id = @is_area_id

IF @@rowcount=0
BEGIN

select @vs_return_partcity = '999'

RETURN @vs_return_partcity

END

IF @vn_area_level < 3 BEGIN

select @vs_return_partcity = @is_area_id

END

ELSE

BEGIN

select @vs_return_partcity = substring(@is_area_id,4,3)

END

RETURN @vs_return_partcity
END
编译后:
Incorrect syntax near the keyword 'AS'.
Server Message:Number178, Severity15
Server 'MBSS', Line 5:
A RETURN statement with a return status may only be used in a SQL stored procedure.
Server Message:Number178, Severity15
Server 'MBSS', Line 18:
A RETURN statement with a return status may only be used in a SQL stored procedure.
Server Message:Number178, Severity15
Server 'MBSS', Line 29:
A RETURN statement with a return status may only be used in a SQL stored procedure.
回复

使用道具 举报

千问 | 2010-10-8 09:28:51 | 显示全部楼层
你的语法好像不对.
AS
return varchar
顺序倒了.
看看这个:
create function [ owner_name. ] function_name
( [ { @parameter_name [as] parameter_datatype [ = default ] } [ ,...n ] ] )
returns return_datatype
[ with recompile] ]
as
[begin]
function_body
return scalar_expression
[end]
回复

使用道具 举报

千问 | 2010-10-8 09:28:51 | 显示全部楼层
UDF是ASE15.0.2的新功能, 你们在项目里面用ASE15.0.2了吗?
下一版本的WorkSpace会对ASE15.0.2的UDF和IOT(instead of trigger)有很好的支持, 提供语法检查, wizard and editor等.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行