gpt4 book ai didi

sql - 如何在sql server 2008中调用标量函数

转载 作者:行者123 更新时间:2023-12-01 18:01:19 28 4
gpt4 key购买 nike

我创建了一个标量函数,它已成功创建,但是当我使用 select 语句调用该函数时,它显示无效的对象名称“dbo.fun_function_score”。

我的功能:

 ALTER function [dbo].[fun_functional_score] (@phy_id varchar(20))
returns varchar(50)

as
begin

declare @level_initial int, @level_current int

-- initial functional score
set @level_initial=(SELECT pflag.fun_level
FROM tbl_phy_demographic_details as [phy]
inner join tbl_all_purple_flag_level as [pflag] on phy.Demographic_id=pflag.Id
WHERE phy.Physicion_id=@phy_id
and pflag.visited_count=(select MAX(visited_count)-1 from tbl_all_purple_flag_level ))


-- current functional score
set @level_current=(SELECT pflag.fun_level
FROM tbl_phy_demographic_details as [phy]
inner join tbl_all_purple_flag_level as [pflag] on phy.Demographic_id=pflag.Id
WHERE phy.Physicion_id=@phy_id
and pflag.visited_count=(select MAX(visited_count) from tbl_all_purple_flag_level ))


--to calculate functional score
declare @fun_level varchar(20),@result varchar(50)

set @fun_level=@level_current-@level_initial;

if @fun_level = 0 set @result='Maintained'
if @fun_level = '-1' set @result='Minor Improvement'
if @fun_level = '-2' set @result='Moderate Improvement'
if @fun_level = '-3' set @result='Significant Improvement'
if @fun_level = '-4' set @result='Substantial Improvement'
if @fun_level = '1' set @result='Minor Reduction'
if @fun_level = '2' set @result='Moderate Reduction'
if @fun_level = '3' set @result='Significant Reduction'
if @fun_level = '4' set @result='Substantial Reduction'




return @result

end

我用这个选择来调用

 select * from dbo.fun_functional_score('01091400003') as [er]

 select * from dbo.fun_functional_score('01091400003') 

均显示错误“对象名称‘dbo.fun_function_score’无效。”

我在哪里犯了错误。谁能帮我...

最佳答案

您的语法适用于表值函数,它返回结果集并且可以像表一样进行查询。对于标量函数,执行

 select  dbo.fun_functional_score('01091400003') as [er]

关于sql - 如何在sql server 2008中调用标量函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21041345/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com