[SQL Server 2005] Update de plusieurs lignes et requête paramétrée
Bonjour,
Je voudrais savoir s'il est possible de récupérer des ID sans passer par une table temporaire.
Voici mon exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
CREATE PROCEDURE spGetLigneTable
@nbLignes INT
AS
BEGIN
IF @nbLignes IS NULL
BEGIN
RAISERROR('Input parameter @nbLignes has to be filled', 16, 1)
RETURN
END
EXEC ('SELECT TOP '+ @nbLignes +' * INTO #MaTableTempo FROM MaTable WHERE ENCOURS = 0
UPDATE MaTable
SET ENCOURS = 1
WHERE ID_MaTable in (SELECT ID_MaTable FROM #MaTableTempo)
SELECT * FROM #MaTableTempo
DROP TABLE #MaTableTempo
')
END |
Je trouve cette portion de code assez brute, ne peut-on pas faire quelque cohse de plus élégant :mrgreen: ?
En vous remerciant de votre aide,
ElSuket