IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DB2 Discussion :

Variable dans INSERT into from


Sujet :

DB2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Homme Profil pro
    Retraite
    Inscrit en
    Octobre 2005
    Messages
    510
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 510
    Billets dans le blog
    1
    Par défaut Variable dans INSERT into from
    *Bonjour,*

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    "INSERT INTO TSTFCH.FRPFBLV "
    "SELECT RFCSTD,RFCCND,RFCDPO,RFCGIM,RFCPRD,"
    "VALUES (CAST(? AS double )<double> ,CAST(? AS double )<double> ),RFNUMC,RFQCND,RFZETQD,RFZETQF "
    "FROM TSTFCH.FRFDOM "
    "WHERE (RFNUMC=:xRFNUMC<double>)  "
    j'utilise OTL il fonctionne très bien mais je ne sais pas

    utiliser les cast je voudrais passer des variables

    merci

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Par défaut
    Avec OTL, je ne connais pas la syntaxe exacte mais je pense que ça devrait être qqchose dans ce goût-là :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    STM = "INSERT INTO TSTFCH.FRPFBLV "
    "SELECT RFCSTD,RFCCND,RFCDPO,RFCGIM,RFCPRD,"
    "VALUES (CAST(? AS double )<double> ,CAST(? AS double )<double> ),RFNUMC,RFQCND,RFZETQD,RFZETQF "
    "FROM TSTFCH.FRFDOM "
    "WHERE (RFNUMC=RFNUMC<double>) "
     
    Execute :STM Using :VAR1, :VAR2, etc,. dans l'ordre des CASTS.

  3. #3
    Membre éclairé

    Homme Profil pro
    Retraite
    Inscrit en
    Octobre 2005
    Messages
    510
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 510
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Mercure Voir le message
    Avec OTL, je ne connais pas la syntaxe exacte mais je pense que ça devrait être qqchose dans ce goût-là :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    STM = "INSERT INTO TSTFCH.FRPFBLV "
    "SELECT RFCSTD,RFCCND,RFCDPO,RFCGIM,RFCPRD,"
    "VALUES (CAST(? AS double )<double> ,CAST(? AS double )<double> ),RFNUMC,RFQCND,RFZETQD,RFZETQF "
    "FROM TSTFCH.FRFDOM "
    "WHERE (RFNUMC=RFNUMC<double>) "
     
    Execute :STM Using :VAR1, :VAR2, etc,. dans l'ordre des CASTS.

    bien déjà je suis sur la bonne voix

    strmdb_FRPFBLV<<xRF999M<<xRONBL<<xRFNUMC;

    mais il provque une erreur du style


    OTL TRACE ==> otl_exception, code=-104, msg=[IBM][Pilote ODBC System i
    > Access][D
    > B2 for i5/OS]SQL0104 - ElÚment syntaxique < n'est pas correct.
    > ElÚments possible

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Par défaut
    Tu veux insérer dans DB2/i5 (AS400), n'est-ce pas ?

    Alors, supprimes les "<double>" superflus pour faire comme ci-dessous.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    STM = "INSERT INTO TSTFCH.FRPFBLV "
    "SELECT RFCSTD,RFCCND,RFCDPO,RFCGIM,RFCPRD,"
    "VALUES (CAST(? AS double ), CAST(? AS double ), RFNUMC, RFQCND, RFZETQD, RFZETQF )"
    "FROM TSTFCH.FRFDOM "
    "WHERE (RFNUMC=RFNUMC) "
    Le prédicat dans clause WHERE m'échappe un peu

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Par défaut
    Citation Envoyé par Mercure Voir le message
    Le prédicat dans clause WHERE m'échappe un peu
    Philippe,

    C'est courament utilisé, généralement.
    Mon prédicat préféré c'est WHERE 1=1.
    Ainsi quand on continue la fabrication de l'ordre SQL dynamique pas besoin de tester si c'est le premier AND que l'on va faire.
    Une clause WHERE ajoutée donnerait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If not (par1 = *zeros);
    SMT += ' AND NUM=' +%trim(Par1);
    endif;

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Par défaut
    Ok, oui, mais c'est un cas particulier, une ruse que j'ai en effet déjà employée dans les programmes, mais est-ce bien la raison pour laquelle l'OP JPLAROCHE a établi ce prédicat, ça ne saute pas aux yeux ?
    Enfin, là n'est pas l'essentiel. Attendons si tu veux de voir ce qu'il va nous dire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Variable dans la clause from ?
    Par All Jinx dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 29/11/2006, 11h38
  2. Erreur de syntaxe dans INSERT INTO VALUES
    Par Mariboo dans le forum Access
    Réponses: 4
    Dernier message: 25/05/2006, 18h57
  3. Syntaxe d'une variable boolean dans INSERT INTO en SQL
    Par frevale dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 13/05/2006, 19h26
  4. ajouter des dates délémitées dans INSERT INTO ?
    Par samlepiratepaddy dans le forum Access
    Réponses: 8
    Dernier message: 27/09/2005, 08h12
  5. insert into from select ?
    Par axel584 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 25/01/2005, 18h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo