Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
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 21/12/2006, 10h41   #1
Invité de passage
 
Inscription : décembre 2006
Messages : 5
Détails du profil
Informations personnelles :
Âge : 32
Localisation : Belgique

Informations forums :
Inscription : décembre 2006
Messages : 5
Points : 4
Points : 4
Envoyer un message via MSN à axine
Par défaut [AS400-SQLRPGLE] Insert avec des variables ?

Bonjour,

J'ai une question un peu conne mais à laquelle je ne trouve pas de réponse dans les tutorials dont je dispose :

Dans un programme RPGLE, peut-on écrire un INSERT de ce style, dans lequel VAR1, VAR2 et VAR3 contiendraient les valeurs à insérer ?

Code :
1
2
3
 
INSERT INTO DEPARTMENT (DEPTNO, DEPTNAME, ADMRDEPT)
VALUES (VAR1, VAR2, VAR3)
D'avance, merci !
axine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2006, 14h22   #2
Membre régulier
 
Inscription : avril 2006
Messages : 118
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 118
Points : 72
Points : 72
Citation:
Envoyé par axine
Bonjour,

J'ai une question un peu conne mais à laquelle je ne trouve pas de réponse dans les tutorials dont je dispose :

Dans un programme RPGLE, peut-on écrire un INSERT de ce style, dans lequel VAR1, VAR2 et VAR3 contiendraient les valeurs à insérer ?

Code :
1
2
3
 
INSERT INTO DEPARTMENT (DEPTNO, DEPTNAME, ADMRDEPT)
VALUES (VAR1, VAR2, VAR3)
Tout à fait en utlisant du SQL dynamique.
Ta requête req:
Code :
1
2
3
 
INSERT INTO DEPARTMENT (DEPTNO, DEPTNAME, ADMRDEPT)
VALUES (?, ?, ?)
Dans ton code :
Code :
1
2
3
4
5
6
7
8
9
C/exec sql
C+ PREPARE p FROM :req
C/end-sql
C/exec sql
C+ EXECUTE p USING :VAR1, :VAR2, :VAR3
C/end-sql
C/exec sql
C+ COMMIT
C/end-sql
Ca doit être à peu près ça...
_Jnie_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2006, 15h59   #3
Invité de passage
 
Inscription : décembre 2006
Messages : 5
Détails du profil
Informations personnelles :
Âge : 32
Localisation : Belgique

Informations forums :
Inscription : décembre 2006
Messages : 5
Points : 4
Points : 4
Envoyer un message via MSN à axine
Yesss, ça marche Un tout grand merci
axine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2006, 16h23   #4
Membre régulier
 
Inscription : avril 2006
Messages : 118
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 118
Points : 72
Points : 72
Citation:
Envoyé par axine
Yesss, ça marche Un tout grand merci
Avec plaisir
_Jnie_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2006, 17h43   #5
Membre Expert
 
Inscription : novembre 2004
Messages : 1 298
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 1 298
Points : 1 355
Points : 1 355
Par défaut Une petite remarque

SQL dynamique n'est pas indispensable. Voici une variante sans PREPARE en SQL direct :
Code :
1
2
3
4
exec sql
INSERT INTO DEPARTMENT (DEPTNO, DEPTNAME, ADMRDEPT)
VALUES (:var1, :var2, :var3)
end-exec
Tu pourrais même te dispenser de nommer les colonnes
Code :
1
2
3
exec sql
INSERT INTO DEPARTMENT VALUES (:var1, :var2, :var3)
end-exec
mais dans la mesure où tu respectes l'ordre des colonnes de la table dans la clause VALUES.
Mercure est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h59.


 
 
 
 
Partenaires

Hébergement Web