函数调用过程,错误是“只能从函数内部执行函数和某些扩展存储过程”

时间:2018-11-20 01:29:12

标签: sql-server

我创建了一个像这样的函数:

CREATE FUNCTION [dbo].[GetAnnouncementID]() 
RETURNS INT
AS
BEGIN
DECLARE @AnnouncementID int 
EXEC @AnnouncementID =DB1.dbo.PROC_GetID 
RETURN @AnnouncementID
END
GO

然后我使用select dbo.GetAnnouncementID()来获取返回值,但是错误消息是:

  

只能从函数内部执行函数和某些扩展存储过程。

如何解决?

1 个答案:

答案 0 :(得分:1)

将其更改为SP并修改您的代码以调用SP,如下所示:

CREATE procedure [dbo].[GetAnnouncementID]() 
AS
BEGIN
  DECLARE @AnnouncementID int 
  EXEC @AnnouncementID =DB1.dbo.PROC_GetID 
  select @AnnouncementID
END
GO