GVKun编程网logo

如何在SQL Server 2008中调用标量函数(sql调用标量值函数)

10

想了解如何在SQLServer2008中调用标量函数的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于sql调用标量值函数的相关问题,此外,我们还将为您介绍关于c#–在SQLServer200

想了解如何在SQL Server 2008中调用标量函数的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于sql调用标量值函数的相关问题,此外,我们还将为您介绍关于c# – 在SQL Server 2008中调用存储过程时超时、sql-server – 在SQL SERVER 2008中执行SQL Server代理作业的服务器角色、sql-server – 如何在SQL Server 2008中使用GUID数据类型?、sql-server – 如何在SQL Server 2008中分配整个Active Directory组安全访问?的新知识。

本文目录一览:

如何在SQL Server 2008中调用标量函数(sql调用标量值函数)

如何在SQL Server 2008中调用标量函数(sql调用标量值函数)

我已经创建了一个标量函数,它已成功创建,但是当我使用select语句调用该函数时,它说无效的对象名’dbo.fun_functional_score’。

我的功能:

 ALTER function [dbo].[fun_functional_score] (@phy_id varchar(20)) returns  varchar(50)asbegindeclare @level_initial int, @level_current int-- initial functional scoreset @level_initial=(SELECT pflag.fun_levelFROM 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 scoreset @level_current=(SELECT pflag.fun_levelFROM 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 scoredeclare @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 @resultend

我用这个选择来打电话

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

或者

 select * from dbo.fun_functional_score(''01091400003'')

两者都显示错误“无效的对象名称’dbo.fun_functional_score’。”

我哪里出错了。谁能帮我…

答案1

小编典典

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

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

c# – 在SQL Server 2008中调用存储过程时超时

c# – 在SQL Server 2008中调用存储过程时超时

从带有EF的C#,我用ExecuteStoreCommand调用一个长存储过程

程序启动30秒后,我有一个超时异常.

如何配置超时?在服务器上还是在我的C#客户端?

谢谢

解决方法

您可以在底层连接上设置CommandTimeout,但是一个更好,更好,更好的想法是花费时间和精力来诊断超时发生的原因.

即使您通过增加CommandTimeout来“解决”问题,也可能会导致数据库中出现其他阻塞问题.寻找阻塞查询或糟糕的查询计划,或者设计糟糕的表和索引.

sql-server – 在SQL SERVER 2008中执行SQL Server代理作业的服务器角色

sql-server – 在SQL SERVER 2008中执行SQL Server代理作业的服务器角色

来自其他部门的用户请求我授予他们在sql Server Agent中执行计划作业/ SSIS.目前,他们的ManagmentStudio中看不到sql Server代理树.我认为这是因为他们没有执行权限.

所以,我想知道我应该给谁服务器角色.我只想给他们最低限度的权限.当我检查我的服务器中现有的角色时,我只能看到以下服务器角色

> bulkadmin
> dbcreator
> diskadmin
> processadmin
>公开
> securityadmin
> serveradmin
> setupadmin
> sysadmin

请建议我.

解决方法

它不是服务器角色.

它是msdb中的“SQL Server Agent Fixed Database Roles”之一

见“How to: Configure a User to Create and Manage SQL Server Agent Jobs (SQL Server Management Studio)” on MSDN

sql-server – 如何在SQL Server 2008中使用GUID数据类型?

sql-server – 如何在SQL Server 2008中使用GUID数据类型?

我想使用sql SERVER 2008构建员工表,在我的表中,我想为每个员工创建一个ID.

我听说过GUID,我知道它的数据类型,但是我不能使用它

你能告诉我使用它的方式吗?

顺便说一下,让我说我想要这样的东西:

CREATE TABLE员工(
ID指导原则,
名称NVARCHAR(50)NOT NULL
)

我该怎么做 ??因为我想从中受益,但我无法找出如何做到这一点

解决方法

它在sql Server中不称为GUID.它叫做uniqueidentifier

sql-server – 如何在SQL Server 2008中分配整个Active Directory组安全访问?

sql-server – 如何在SQL Server 2008中分配整个Active Directory组安全访问?

我想在我的内部应用程序中使用集成安全性,这些应用程序都在域上.不幸的是,我从来没有能够让这个工作得很好.我想在sql Server中为整个Exchange(Active Directory)组分配一个角色,以便对某些表进行读/写访问.这样,每当有人被雇用时我都不必创建一个操作符,或者每当有人被解雇时都会删除一个操作符.这可能吗?我会采取什么步骤来做这件事?

解决方法

>将AD组设置为登录名.并且“登录”表示服务器级登录而不是用户/登录的AD概念.在sql Server中,这是服务器级主体
>创建一个映射用户.您不应该直接在表上允许用户.而“用户”是指数据库用户而不是用户的AD概念:在sql Server中,这是一个“数据库级别的主体”
>将用户添加到角色(也是“数据库级别主体”)
>对表上角色的GRANT权限(表或proc等是“安全”)

示例脚本

USE master;
GO
CREATE LOGIN [MYDOMAIN\APPLICATION SUPPORT] FROM WINDOWS;
GO
USE mydb;
GO
CREATE USER [MYDOMAIN\APPLICATION SUPPORT] FROM LOGIN [MYDOMAIN\APPLICATION SUPPORT];
GO
CREATE ROLE rSupport;
GO
EXEC sp_addrolemember 'rSupport','MYDOMAIN\APPLICATION SUPPORT';
GO
GRANT SELECT,INSERT,UPDATE,etc ON Mytable TO rSupport;
GO

从sql Server 2012开始,不推荐使用sp_addrolemember,而应使用ALTER ROLE.

我们今天的关于如何在SQL Server 2008中调用标量函数sql调用标量值函数的分享已经告一段落,感谢您的关注,如果您想了解更多关于c# – 在SQL Server 2008中调用存储过程时超时、sql-server – 在SQL SERVER 2008中执行SQL Server代理作业的服务器角色、sql-server – 如何在SQL Server 2008中使用GUID数据类型?、sql-server – 如何在SQL Server 2008中分配整个Active Directory组安全访问?的相关信息,请在本站查询。

本文标签: