J'ai une variable globale qui est incrémentée dans la boucle While Nested. Dans chaque itération, il réinitialise la valeur à 1
(c'est-à-dire, valeur initialement initialisée).SQL Server - Réinitialisation des variables globales dans une boucle While imbriquée
ressaisie-produit Code de mesure:
SET NOCOUNT ON;
DECLARE @GlobalCounter INT = 1;
DECLARE @CounterOne INT = 1;
DECLARE @CounterTwo INT = 1;
WHILE(@CounterOne <= 10)
BEGIN
PRINT 'Outer Loop:';
PRINT @GlobalCounter;
DECLARE @SerialInfo table
(
[Id] [int] IDENTITY(1,1) NOT NULL,
[SNumber] [NVARCHAR](20) NOT NULL,
PRIMARY KEY ([Id])
);
SET @CounterTwo = 1;
WHILE(@CounterTwo <= 10)
BEGIN
DECLARE @SerialNumber NVARCHAR(20);
SET @SerialNumber = 'SRL: ' + CONVERT(NVARCHAR(10), @GlobalCounter);
INSERT INTO @SerialInfo([SNumber]) VALUES (@SerialNumber);
SET @GlobalCounter = @GlobalCounter + 1;
SET @CounterTwo = @CounterTwo + 1;
END
SET @CounterTwo = 1;
WHILE(@CounterTwo <= 10)
BEGIN
SET @SerialNumber = '';
SELECT @SerialNumber = [SNumber] FROM @SerialInfo WHERE [Id] = @CounterTwo;
PRINT @SerialNumber;
SET @CounterTwo = @CounterTwo + 1;
END
SET @CounterOne = @CounterOne + 1;
END
me aider Veuillez en termes de portée variable globale et sa valeur. Comment atteindre les résultats escomptés
SRL: 1
SRL: 2
SRL: 3
.
.
.
SRL: 99
SRL: 100
Quels sont les résultats actuellement obtenus? –
pas sûr de ce que le problème est quand je vérifie pour voir ce qui est dans les résultats sont @serialinfo je reçois les résultats attendus que vous avez posté. nous aurons besoin de savoir quels résultats vous obtenez. – ttallierchio
@Jonathan J'ai ajouté une capture d'écran qui contient le résultat de la requête SQL ci-dessus. –