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 :

Syntaxe INSERT multiple MVS IBM


Sujet :

DB2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut Syntaxe INSERT multiple MVS IBM
    Bonjour a tous,


    J'aurais souhaité faire des inserts multiples pour test.
    MVS DB2 en spufi

    La syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO Table ( DATA ) VALUES IN ( 123 ),( 6548)
    ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    DSNT408I SQLCODE = -104, ERROR:  ILLEGAL SYMBOL ",". SOME SYMBOLS THAT MIGHT BE 
             LEGAL ARE: <END-OF-STATEMENT>                                          
    DSNT418I SQLSTATE   = 42601 SQLSTATE RETURN CODE                                
    DSNT415I SQLERRP    = DSNHPARS SQL PROCEDURE DETECTING ERROR                    
    DSNT416I SQLERRD    = 0  0  0  -1  301  0 SQL DIAGNOSTIC INFORMATION            
    DSNT416I SQLERRD    = X'00000000'  X'00000000'  X'00000000'  X'FFFFFFFF'        
             X'0000012D'  X'00000000' SQL DIAGNOSTIC INFORMATION

    est ce que c'est possible, si oui comment faire ?

    Merci d'avance

  2. #2
    Membre émérite Avatar de Peut-êtreUneRéponse
    Homme Profil pro
    IT Specialist - IBM Z
    Inscrit en
    Décembre 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : IT Specialist - IBM Z
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 548
    Par défaut
    De cette manière là c'est possible uniquement en v9 si je ne m'abuse et la syntaxe est :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    INSERT INTO table1  VALUES
       (val1, val2, val3, val4 ...)
      ,(val1, val2, val3, val4 ...)

    En v8 le multi-rows-insert est possible mais via programme en utilisant des variables déclarées en tableau en working, la syntaxe est :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    INSERT INTO table1  VALUES
       (val1, :host-variable, val3, val4 ...)
    FOR n ROWS
    n étant inférieur ou égal à la valeur du tableau pour host-variable.

    .

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut
    Merci pour ces réponses...
    On va ptete passer bientôt en V9 .. donc je pourrais ptete le faire

  4. #4
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Par défaut
    Question peut-être naïve :
    Pourquoi ne pas coder plusieurs INSERT à la suite ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut
    c'est pour des tests de performance.

    La partie en .net de l'application peut appeler directe les bases DB2. et pour des millions d'enregistrement, ça permet de gagner bcp de place de faire ça ( donc c'est plus rapide).
    comme ça on compare avec la version mainframe ...

    c'est juste histoire de leur montrer à ces "ptits pretencieux des nouvelles technos " que le mainframe n'est pas mort et qu'il dechire encore..

  6. #6
    Membre émérite Avatar de Peut-êtreUneRéponse
    Homme Profil pro
    IT Specialist - IBM Z
    Inscrit en
    Décembre 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : IT Specialist - IBM Z
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 548
    Par défaut
    Niveau performance tu n'auras pas le même résultat selon que tes requêtes sont passées via SPUFI, via pgm ou utilitaire de load en batch, il faut comparer ce qui est comparable

    Quant on fait de coder plusieurs INSERT plutôt qu'un multiple-insert-row tu gagnes peut-être en place mais ce n'est pas corréler avec la rapidité d'exécution.

    NB: il existe des outils spécifiques pour les performances

    .

Discussions similaires

  1. [MySQL] insert multiple : erreur de syntaxe msql 5
    Par jay-ko dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 21/10/2008, 18h31
  2. procédure stockée insert multiple
    Par gigi34 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/09/2005, 10h37
  3. Insertion multiple à base de sous requête SELECT
    Par drinkmilk dans le forum Langage SQL
    Réponses: 8
    Dernier message: 14/04/2005, 16h34
  4. INSERT multiples avec : rs.AddNew et .Update
    Par M.Zip dans le forum ASP
    Réponses: 4
    Dernier message: 03/12/2004, 15h53
  5. pb d'insertions multiples
    Par devalender dans le forum SQL
    Réponses: 2
    Dernier message: 14/07/2004, 14h49

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