ive一遍又一遍地寻求帮助,但没有任何帮助,我有一个存储过程,我想将最后一个身份ie scope_identity()插入b,但它一直返回零值
CREATE PROCEDURE dbo.Createletter
@A INT,
@B NVARCHAR(50),
@C NVARCHAR(50),
AS
BEGIN;
SET NOCOUNT ON;
BEGIN;
INSERT INTO dbo.Employees ( A, B, C )
VALUES ( @A, SCOPE_IDENTITY(),@C);
END;
END;
GO
如果数据库表中的身份列,则在表格中添加新行时,身份值将自动生成。如下所示,可以获取最后一个插入语句的创建值。
create table dbo.Employees (
A int identity(1,1),
B nvarchar(50),
C nvarchar(50)
)
declare @B nvarchar(50), @C nvarchar(50)
INSERT INTO dbo.Employees ( B, C ) VALUES ( @B, @C);
select SCOPE_IDENTITY()
如果您的过程在表中创建记录,则可能正在尝试获得该行的身份,我猜