Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/08/2011, 10h07   #1
Invité de passage
 
Inscription : juillet 2011
Messages : 12
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 12
Points : 0
Points : 0
Par défaut utiliser a valeur de rownumber

Bonjour

Tout d'abord j'explique mon problème , j'ai implémente une procedure qui ordonne une table selon le rownumber
la table en question est affiche

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
DROP procedure spGetRandomRecord
go
 
CREATE PROCEDURE spGetRandomRecord
 
AS
 
begin
 
--Declare local variables
DECLARE @counter int, @randno int, @uBound int, @lBound int,@req int 
declare @sql NVARCHAR(512) 
 
--You don’t want to get the results of the interim 
--SELECT statements passed to the recordset 
--so you have to set NOCOUNT on SET NOCOUNT ON
 
SELECT *, ROW_NUMBER() OVER  (ORDER BY (SELECT 1  ))  AS RowNumber FROM Table_essai



resultat:
nom date salaire rownumber
cedrick 1987-12-05 12212121 1
patrick 1990-02-21 656565222 2
yannick 1956-03-08 844452 3
eric 1285-12-02 122545 4
louis 2001-12-14 446546 5




après dans ma question est donc je veux construire un id int qui est le numero (rownumber) ainsi par exemple si je veux changer une ligne i ou j j'utilise id=i ou id j


en fait je veux une fonction qui me recupére "la valeur numerique de rownumber" et l'a


je sais qu'on a une histOIRE Count
cedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 10h26   #2
Membre Expert
 
Inscription : janvier 2010
Messages : 1 084
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2010
Messages : 1 084
Points : 1 573
Points : 1 573
Bonjour,

Ceci n'a pas de sens !
les lignes d'une table n'ont pas d'ordre naturel, même si des mécanismes internes au serveur le laissent penser. D’ailleurs la requête que vous postez ne vous donnera pas toujours le même résultat !


Pour obtenir des résultat ordonnés, il faut utiliser la clause ORDER BYmais il vous faudra préciser le critère de classement.
et outre le fait que je ne comprenne pas réellement votre problème (à l'occasion terminez les phrases de votre post, ce sera déjà un peu plus clair ) je ne vois pas sur quel critère vous voulez trier...

Que voulez vous faire exactement ?
aieeeuuuuu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h11.


 
 
 
 
Partenaires

Hébergement Web