存储过程,不记录第二次插入的数据

时间:2015-01-12 16:19:06

标签: stored-procedures sql-server-2012

我打算在多个表中插入数据,对于每个条目,我需要为每个插入捕获SCOPE_IDENTITY()。在我的商店程序中,它存储第一次插入的记录并返回SCOPE_IDENTITY()但是后面的插入不会记录值,除非我删除了SCOPE_IDENTITY()...我在这里做错了什么????

我正在使用SQL Server 2012

USE [MySolution01_DB]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[CreateNewFunctionsNavigation]
  @FunctionName nvarchar(250),
  @Hierarchy_Level INT,
  @Function_identity INT OUTPUT, 
  @ControllerName nvarchar(250), 
  @Controller_identity INT OUTPUT
AS
BEGIN
SET NOCOUNT ON;

INSERT INTO [dbo].[Navigation_Functions] ([FunctionName],[Hierarchy_Level] ) 
VALUES(@FunctionName, @Hierarchy_Level)

   SET @Function_identity=SCOPE_IDENTITY()
   RETURN @Function_identity


INSERT INTO [dbo].[Navigation_FunctionController] ([ControllerName])
VALUES(@ControllerName)

   SET @Controller_identity = SCOPE_IDENTITY()
   RETURN @Controller_identity

   RETURN
END

0 个答案:

没有答案