MSSQL中函数问题?
create Function WM.F_GetBillCd
( @bill_type_id int,
@make_type_id int)
returns varchar(20)
as
begin
declare @Bill_cd varchar(20)
select @bill_cd = case when @make_type_id = 1
then isnull(zbill_type_assign,'') + '_' + wm.f_fillData(isnull(zmax_cd,0),10)
else '#' + wm.f_fillData(isnull(ztmp_max_cd,0),10) end
from wm.bill_type bt(nolock)
where bt.zbill_type_id = @bill_type_id
if @make_type_id = 1
begin
update wm.bill_type
set zmax_cd = isnull(zmax_cd,0) + 1
where zbill_type_id = @bill_type_id
end
else
begin
update wm.bill_type
set ztmp_max_cd = isnull(ztmp_max_cd,0) + 1
where zbill_type_id = @bill_type_id
end
if @@error <> 0 or @@rowcount <> 1
select @bill_cd ='ERROR'
return(@bill_cd)
end
----------------------------------------------------------------------
服务器: 消息 443,级别 16,状态 2,过程 F_GetBillCd,行 17
在函数内不正确地使用了 'UPDATE'。
服务器: 消息 443,级别 16,状态 1,过程 F_GetBillCd,行 23
在函数内不正确地使用了 'UPDATE'。
===================================================
这是为什么,应该怎么用