use*_*650 25 sql sql-server sql-server-2008
我构建一个函数,我正在尝试执行它...但是正在发生一些错误
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
Run Code Online (Sandbox Code Playgroud)
执行它时的错误是:
Msg 2714,Level 16,State 3,Procedure Afisho_rankimin,Line 11
数据库中已经有一个名为'Afisho_rankimin'的对象.
而且据说:
找不到列"dbo",或用户定义的函数,或聚合"dbo.Afisho_rankimin",或者名称含糊不清
Yur*_*ter 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
Run Code Online (Sandbox Code Playgroud)
请注意,您只需要调用一次,而不是每次调用该函数.之后尝试打电话
SELECT dbo.Afisho_rankimin1(5) AS Rankimi
Run Code Online (Sandbox Code Playgroud)
jp2*_*ode 16
我已经多次来到这个问题了.
每次,我尝试使用SQL Server Management Studio或SSMS中显示的语法输入函数,以查看结果,每次出现错误.
对我来说,这是因为我的结果集是表格数据格式.因此,要在SSMS中查看结果,我必须这样称呼它:
SELECT * FROM dbo.Afisho_rankimin_TABLE(5);
Run Code Online (Sandbox Code Playgroud)
我理解作者的问题涉及标量函数,所以这个答案只是为了帮助那些经常遇到查询问题的人(比如我)来到StackOverflow.
我希望这有助于其他人.
| 归档时间: |
|
| 查看次数: |
266471 次 |
| 最近记录: |