|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 145 ![]() |
Bonjour,
J'essaie de realiser un petit script en plsql, mais vue que je debute en plsql c'est pas evident. Ce que je voudrais faire, c'est recuperer l'identificatio maximum de la table PARAMETRES pour pourvoir ensuite inserer une nouvelle ligne dans la table PARAMETRES. Voici mon code source : Code :
Je vous remercie d'avance, pour vos lumières |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : avril 2005 Messages : 1 672 ![]() |
Votre tentative ne gère malheureusement pas les accès concurrents.
La réponse à votre besoin réside sous Oracle dans les objets suivants : les séquences. En faisant des recherches sur ce forum ou sur la FAQ, vous trouverez des exemples permettant de les manipuler. La doc Oracle peut vous en dire plus bien sûr.
__________________
Modérateur des forums Oracle et Langage SQL Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum |
|
|
00
|
|
|
#3 | ||
|
Membre habitué
![]() Inscription : juin 2003 Messages : 107 ![]() |
Pour l'erreur de syntaxe, tu dois specifier un champ dans MAX
Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Inscription : mai 2007 Messages : 385 ![]() |
Pour vous faciliter un peu le travail et vous éviter de faire des recherches dans ce forum, vous pouvez corriger votre pb de la façon suivant :
1) Récuprérer l'ID max toto id_Max select max(id_max) from PARAMETRES 1) Créér une séquence initialisée avec le max(id) sur la table PARAMETRES create sequence APARAMETRES$SEQ increment by 1 maxvalue 999999999999 minvalue id_Max <== valeur de id_Max cycle nocache; 3) dans vos inserts dans cette table faire un nexval sur la séquence Insert into SWC.PARAMETRES (ID, LIBELLE) Values (APARAMETRES$SEQ.nextval, 'Test'); LBO 72. |
|
|
00
|
|
|
#5 | ||||
|
Membre confirmé
![]() Inscription : mai 2007 Messages : 385 ![]() |
En la corrigeant un peu oups
1) Récuprérer l'ID max dans id_Max select max(id) into (id_max) from PARAMETRES 1) Créér une séquence initialisée avec le max(id) sur la table PARAMETRES Code :
Code :
|
||||
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
et les balises CODE ?
|
|
|
00
|
|
|
#7 |
|
Membre confirmé
![]() Inscription : mai 2007 Messages : 385 ![]() |
ça sera pris en compte pour mes prochains mails
....sans faute.... LBO72 |
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 145 ![]() |
J'ai modifié mon script suivant le script de lsaid et ca marche NIKEL.
Merci encore pour toute vos reponse |
|
|
00
|
|
|
#9 |
|
Membre confirmé
![]() Inscription : mai 2007 Messages : 385 ![]() |
C'est vrais que ça marche...mais c'est comme le rôle des séquences
Les séquences sont faites pour gérer exactement ce genre de pb. LBO72 |
|
|
00
|
|
|
#10 | |
|
Membre Expert
![]() Inscription : avril 2005 Messages : 1 672 ![]() |
Citation:
On vous donne des conseils, libre à vous de faire au plus simple Ne venez pas vous plaire si vous réinventez la roue et qu'elle tourne carré !
__________________
Modérateur des forums Oracle et Langage SQL Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com