我有一个返回唯一 ID 的存储过程。我需要调用这个 sp 来获取每一行的唯一 ID。我必须使用这个 SP,因为应用程序也使用它。
如何为每一行选择从 SP 返回的 ID?
CREATE procedure [dbo].[SelectNextNumber]
@TableName nvarchar(255)
as
begin
declare @NewSeqVal int
set NOCOUNT ON
update Number --This is a table that holds for each table the max ID
set @NewSeqVal = Next = Next + Increase
where TableNaam= @TableName
if @@rowcount = 0
begin
Insert into Number VALUES (@TableName, 1, 1)
return 1
end
return @NewSeqVal
号码表:
CREATE TABLE [dbo].[Number](
[TableName] [varchar](25) NOT NULL,
[Next] [int] NULL,
[Increase] [int] NULL
我已经看到 While 循环可用于此,但在我的情况下,我不知道如何使用 while 循环。