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 (@Nom_Table varchar(500),@Nom_Champ1 varchar(500),@Nom_Champ2 varchar(500),@J int ,@I int)
BEGIN
WITH
T (Nom, @Nom_Champ2, RowNumber)
AS
( SELECT @Nom_Champ1, @Nom_Champ2, ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS RowNumber
FROM @Nom_Table
)
SELECT T.@Nom_Champ1, T.@Nom_Champ2, T.RowNumber
FROM T
WHERE T.RowNumber NOT IN (@I, @J) -- (I, J) = (2, 5)
UNION ALL
SELECT T.@Nom_Champ1, T.@Nom_Champ2,@I -- I = 2
FROM T
WHERE T.RowNumber =@J -- J = 5
UNION ALL
SELECT T.@Nom_Champ1, T.@Nom_Champ2,@J -- J = 5
FROM T
WHERE T.RowNumber =@I -- I = 2
ORDER BY RowNumber
END |
Partager