[T-SQL] Boucle WHILE / PRINT
elsadelatoundra
Messages postés
126
Statut
Membre
-
joujou -
joujou -
Bonjour,
Je débute en TSQL et je n'arrive pas trop à faire marcher ma boucle while et surtout le print !!
Je fais un print dans une boucle while pour voir si je rentre dedans ...
Voici mon code :
Quand j'exécute ma procédure, SQL Server me dit "Command(s) completed successfully." mais ne m'imprime rien :-S
J'espère que l'un d'entre vous saura me dire ce qui ne va pas (à part moi !) !!
Je vous remercie d'avance ...
Je débute en TSQL et je n'arrive pas trop à faire marcher ma boucle while et surtout le print !!
Je fais un print dans une boucle while pour voir si je rentre dedans ...
Voici mon code :
ALTER PROCEDURE dbo.maProcedure
@i integer,
@nbEnregistrements integer
AS
BEGIN TRANSACTION /*procedure*/
declare /*Variables destinées aux traitements*/
/* A */ @a nvarchar(255),
/* B */ @b float,
BEGIN /*traitement*/
/*Initialisation des variables utilisées dans la procédure*/
SET @i = 0
SELECT @nbEnregistrements = (
SELECT COUNT(*)
FROM dbo.PC
WHERE (Argument = 0)
)
WHILE (@i < @nbEnregistrements)
BEGIN /*While*/
PRINT 'On est dans le WHILE';
END /*While*/
END /*traitement*/
COMMIT TRANSACTION /* procedure */
Quand j'exécute ma procédure, SQL Server me dit "Command(s) completed successfully." mais ne m'imprime rien :-S
J'espère que l'un d'entre vous saura me dire ce qui ne va pas (à part moi !) !!
Je vous remercie d'avance ...
A voir également:
- [T-SQL] Boucle WHILE / PRINT
- Print artist - Télécharger - Loisirs créatifs
- Print pratic - Télécharger - Photo & Graphisme
- Print manager - Télécharger - Suite bureautique
- Hp universal print driver - Télécharger - Pilotes & Matériel
- Directory list & print - Télécharger - Divers Utilitaires
4 réponses
tu initialise i à 0 et ensuite tu teste si i<nbenregistrement
mais si nbenregistrement=0, tu n'es pas dans ce cas : tu as une inégalité stricte...
tu as essayé d'afficher le nombre d'enregistrements, pour voir? ça ne m'étonnerait pas qu'il soit égal à 0.
mais si nbenregistrement=0, tu n'es pas dans ce cas : tu as une inégalité stricte...
tu as essayé d'afficher le nombre d'enregistrements, pour voir? ça ne m'étonnerait pas qu'il soit égal à 0.
BONJOUR
La syntaxe du while est la suivante :
while condition, instruction_1, ... ,instruction_N , end
ou encore (dans un script ou une fonction) :
while condition
instruction_1
.............
instruction_N
end
où chaque instruction_k peut être suivie d'un point virgule et ce qui est appelé condition est en fait une expression délivrant un scalaire booléen.
La syntaxe du while est la suivante :
while condition, instruction_1, ... ,instruction_N , end
ou encore (dans un script ou une fonction) :
while condition
instruction_1
.............
instruction_N
end
où chaque instruction_k peut être suivie d'un point virgule et ce qui est appelé condition est en fait une expression délivrant un scalaire booléen.