Bonjour,
je crée une vue avec une la requete sql suivante:
Comment faire pour ajouter une clé primaire générer automatiquement?Code:
1
2
3 SELECT * FROM [SERVER].[DATABASE].[dbo].[TABLE] table WITH (NOLOCK)
Merci..
Version imprimable
Bonjour,
je crée une vue avec une la requete sql suivante:
Comment faire pour ajouter une clé primaire générer automatiquement?Code:
1
2
3 SELECT * FROM [SERVER].[DATABASE].[dbo].[TABLE] table WITH (NOLOCK)
Merci..
Bonjour,
La notion de contrainte d'intégrité et donc de clé primaire ne peut être présente que sur des tables. Les vues ne stockent pas d'information, il n'est donc pas envisageable d'y définir des contraintes d'intégrité.
Bonjour,
Une vue et une table sont deux objets différents :
- Une table contient des données, donc elle a une existence physique
- Une vue se comporte comme une table mais n'a aucune existence physique : elle ne stocke aucune donnée ;)
Dès lors la clé que vous recherchez est une des colonnes d'une des tables de la requête spécifiant votre vue.
D'après le titrre de votre post, n'est-ce pas un compteur ou un rang que vous cherchez ? si c'est le cas et que vous êtes sous SQL Server 2005, ajoutez ROW_NUMBER() à la définition de votre vue ;)
@++ ;)
Merci messieurs,
la vue ne peux prendre aucune contrainte alors, même not-null..
elle n'hérite même pas des propriétés de la table mère, si je comprend bien..
Non, puisqu'une vue n'est pas une table.Citation:
la vue ne peux prendre aucune contrainte alors, même not-null..
Non, pour la même raison ;)Citation:
elle n'hérite même pas des propriétés de la table mère, si je comprend bien..
@++ ;)
C'est clair maintenant !!
Merciiiiiii :)
Non, il vous faut spécifier la clause OVER() :
@++ ;)Code:SELECT ROW_NUMBER() OVER(ORDER BY uneColonne) AS ID, *
super!! ça fonctionne du premier coup en plus!!
merci!!