我构建一个函数,我正在尝试执行它...但是正在发生一些错误
CREATE FUNCTION dbo.Afisho_rankimin(@emri_rest int) RETURNS int AS BEGIN Declare @rankimi int Select @rankimi=dbo.RESTORANTET.Rankimi From RESTORANTET Where dbo.RESTORANTET.ID_Rest=@emri_rest RETURN @rankimi END GO SELECT dbo.Afisho_rankimin(5)AS Rankimi GO
执行它时的错误是:
Msg 2714,Level 16,State 3,Procedure Afisho_rankimin,Line 11
数据库中已经有一个名为'Afisho_rankimin'的对象.
而且据说:
找不到列"dbo",或用户定义的函数,或聚合"dbo.Afisho_rankimin",或者名称含糊不清
Yuriy Galant.. 25
看起来Afisho_rankimin
在您的数据库中调用了其他内容,因此未创建该功能.尝试调用你的函数.例如
CREATE FUNCTION dbo.Afisho_rankimin1(@emri_rest int) RETURNS int AS BEGIN Declare @rankimi int Select @rankimi=dbo.RESTORANTET.Rankimi From RESTORANTET Where dbo.RESTORANTET.ID_Rest=@emri_rest RETURN @rankimi END GO
请注意,您只需要调用一次,而不是每次调用该函数.之后尝试打电话
SELECT dbo.Afisho_rankimin1(5) AS Rankimi
看起来选择引发了一个错误,即没有这样的功能. (2认同)
jp2code.. 16
我已经多次来到这个问题了.
如何在sql server 2008中调用标量函数
每次,我尝试使用SQL Server Management Studio或SSMS中显示的语法输入函数,以查看结果,每次出现错误.
对我来说,这是因为我的结果集是表格数据格式.因此,要在SSMS中查看结果,我必须这样称呼它:
SELECT * FROM dbo.Afisho_rankimin_TABLE(5);
我理解作者的问题涉及标量函数,所以这个答案只是为了帮助那些经常遇到查询问题的人(比如我)来到StackOverflow.
我希望这有助于其他人.