|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() ToutaÉtudiant Inscription : mai 2011 Messages : 21 ![]() |
* Bonjour, *
j'ai crée une table programme sous SQL Server et je cherche a modifier la colonne numprg pour qu'elle soit incrémenté automatiquement..bon j'ai lu cet article http://blog.developpez.com/sqlpro/p6...ec-sql-server/ mais j'ai pas trouvé qu'est ce qu'on doit écrire avec Alter table pas Create table. j'ai essayé avec Code :
ALTER TABLE programme ALTER COLUMN Numprg int IDENTITY; merci d'avance.. |
|
|
00
|
|
|
#2 | ||||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Bonjour,
Effectivement c’est impossible, et c'est tout à fait normal : on ne peut pas demander tout d'un coup à SQL Server de calculer la valeur, puis de ne plus la calculer, puis de recommencer à la calculer, ... Vous avez trois solutions : - Soit la table ne contient aucune ligne et n'est référencée par aucune autre, et vous la recréez - Soit dans le même cas, vous faites un clic droit sur la table > conception, et vous spécifiez que cette colonne doit avoir la propriété d'auto-incrémentation ![]() Et vous laissez faire SQL Server Management Studio, qui recréera la table - Soit votre table a des lignes et elle est référencée par d'autres tables, et là c'est pas un cadeau : il vous faut désactiver toutes les contraintes sur toutes les tables qui référencent celle-ci, ce que vous pouvez vous générer en exécutant : Code :
Pour générer le code de réactivation : Code :
@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
||||
|
10
|
|
|
#3 |
|
Invité régulier
![]() ToutaÉtudiant Inscription : mai 2011 Messages : 21 ![]() |
merci bien pour ton aide ça marche pour la colonne NumPrg mais j'ai une autre colonne NumPc dans une table PièceComptable qui doit étre incrémentée mensuellement selon le RibRip.
par exemple: mois----------------RibRip-------------NumPc Janvier------------- 012345------------ 1 Janvier------------- 012345------------ 2 Janvier------------- 543210------------ 1 Janvier------------- 012345------------ 3 Janvier------------- 543210------------ 2 Fevrier------------- 012345------------ 1 qu'est ce que je dois faire? |
|
|
00
|
|
|
#4 | |||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Citation:
Et si vous êtes planté, alors posez votre question sur le forum ! Essayez : Code :
L'UPDATE se fait sur la base de la clé primaire @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|||
|
10
|
|
|
#5 | |
|
Invité régulier
![]() ToutaÉtudiant Inscription : mai 2011 Messages : 21 ![]() |
Citation:
Oui sincèrement j'ai cherché et j'ai lu quelques tutoriels concernant les variables de table et les tables temporaires aussi et c'est la première fois que je les face car j'utilise SQL Server nouvellement avec une application web .net comme un projet fin d'étude et vraiment j'ai pas assez du temps pour plus rechercher je sais bien que c'est honteux mais sincèrement j'ai besoin de l'aide et merci pour tout |
|
|
|
00
|
|
|
#6 | ||||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Il n'y a aucune honte à ne pas savoir
Citation:
Donc vous devez remplacer la variable de type TABLE dans la requête que je vous ai donné par le nom véritable de la table que vous utilisez. En aucun cas vous ne devez utiliser ce genre de table dans du code de production, comme je l'ai écrit ici, sauf si vous n'avez aucune autre solution. Dans ce dernier cas, cela montre généralement une mauvaise conception du modèle de données. Citation:
Mais je pense que dans votre cas, vous devriez faire ce calcul après chaque insertion dans la table, en appelant une procédure comme celle-ci : Code :
Ensuite il vous faut appeler cette procédure dans votre code, et là tout dépend du langage que vous utilisez pour implémenter votre application. @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
||||
|
10
|
|
|
#7 |
|
Invité régulier
![]() ToutaÉtudiant Inscription : mai 2011 Messages : 21 ![]() |
j'ai pas trouvé le dossier "tables temporaires"
|
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
C'est un nœud qui existe seulement pour la base de données TempDB, qui est une base de données système
@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
|
|
#9 |
|
Invité régulier
![]() ToutaÉtudiant Inscription : mai 2011 Messages : 21 ![]() |
Merci Bien
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com