如何在sql server 2008中调用标量函数(how to call scalar function in sql server 2008)

编程入门 行业动态 更新时间:2024-10-15 12:32:02
如何在sql server 2008中调用标量函数(how to call scalar function in sql server 2008)

我创建了一个标量函数,它已成功创建,但是当我使用select语句调用函数时,它说无效的对象名称为'dbo.fun_functional_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_functional_score'”。

我犯了错误。 谁能帮我...

I have created a Scalar Functions, it was created successfully, but when I call the function using select statement, it says Invalid object name 'dbo.fun_functional_score'.

my function:

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

i used this select to call

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

or

select * from dbo.fun_functional_score('01091400003')

both showing error "Invalid object name 'dbo.fun_functional_score'. "

where i made error . can anyone help me...

最满意答案

你的语法是用于表值函数,它返回一个结果集并且可以像查询表一样查询。 对于标量函数呢

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

Your syntax is for table valued function which return a resultset and can be queried like a table. For scalar function do

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

更多推荐

本文发布于:2023-07-30 17:48:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1338887.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:标量   函数   如何在   server   sql

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!