删除语句在存储过程中不起作用

Delete statement not working in Stored Procedure

我正在尝试从存储过程 SQL-Server 2012 中删除多条记录。我有 select 然后删除语句,显然我的删除语句没有被调用

ALTER PROCEDURE [dbo].[DeleteFunctionsNavigation]

 @FunctionName nvarchar(250),
 @Function_identity INT OUTPUT
   AS
   BEGIN    
SET NOCOUNT ON;

SELECT Navigation_Functions.Function_ID 
FROM Navigation_Functions 
WHERE Navigation_Functions.FunctionName = @FunctionName
SET @Function_identity=SCOPE_IDENTITY()

DELETE FROM Navigation_FunctionHierarchy
WHERE Navigation_FunctionHierarchy.Function_IDs = @Function_identity

   RETURN
END

SCOPE_IDENTITY() 在此上下文中的用法不正确。试试这个

ALTER PROCEDURE [dbo].[DeleteFunctionsNavigation]

 @FunctionName nvarchar(250),
 @Function_identity INT OUTPUT
   AS
   BEGIN    
SET NOCOUNT ON;

SELECT @Function_identity = Navigation_Functions.Function_ID 
FROM Navigation_Functions 
WHERE Navigation_Functions.FunctionName = @FunctionName


DELETE FROM Navigation_FunctionHierarchy
WHERE Navigation_FunctionHierarchy.Function_IDs = @Function_identity

   RETURN
END