Bonjour,

Je voudrais savoir s'il est possible de récupérer des ID sans passer par une table temporaire.
Voici mon exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?

En vous remerciant de votre aide,

ElSuket