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

SQL Firebird Discussion :

Syntaxe tableaux dans ordre SQL INSERT


Sujet :

SQL Firebird

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    610
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 610
    Points : 213
    Points
    213
    Par défaut Syntaxe tableaux dans ordre SQL INSERT
    Bonjour.

    Une table dispose d'un attribut défini comme une tableau de smallint,
    smallint[3] par exemple.

    Je n'ai pas trouvé la syntaxe INSERT pour indiquer les valeurs de tableau !!

    INSERT INTO TABLE VALUES ( ??? )

    Merci.

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut
    As-tu essayé avec ?
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    610
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 610
    Points : 213
    Points
    213
    Par défaut
    J'ai essayé cette syntaxe dans l'interpréteur de script de IBExpert.
    Mais cela n'a rien donné.

    J'ai tenté

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    VALUES (  (1,2,3)  )
    VALUES (  [1,2,3] )
    VALUES( {1,2,3} )
    VALUES( '{1,2,3}' )     // syntaxe PostGresql
    etc...
    Mais rien ne passe pour le moment et pas grand chose de commenté sur le sujet.

  4. #4
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut
    Citation Envoyé par qi130
    As-tu essayé avec ?
    J'avais extrait ça du embedSQL (§ Insert), je te le livre complet et en VO:
    Inserting data into an array
    INSERT can be used to insert data into an array column. The data to insert must exactly fill the entire array, or an error can occur.
    To insert data into an array, follow these steps:
    1. Declare a host-language variable to hold the array data. Use the BASED ON clause as a handy way of declaring array variables capable of holding data to insert into the entire array. For example, the following statements create three such variables:
    EXEC SQL
    BEGIN DECLARE SECTION;
    BASED ON TABLE1.CHAR_ARR char_arr;
    BASED ON TABLE1.INT_ARR int_arr;
    BASED ON TABLE1.FLOAT_ARR float_arr;
    EXEC SQL END DECLARE SECTION;

    2. Load the host-language variables with data.
    3. Use INSERT to write the arrays. For example,
    EXEC SQL
    INSERT INTO TABLE1 (NAME, CHAR_ARR, INT_ARR, FLOAT_ARR)
    VALUES (’Sample’, :char_arr, :int_arr, :float_arr);
    4. Commit the changes:
    EXEC SQL COMMIT;
    IMPORTANT When inserting data into an array column, provide data to fill all array elements, or the results will be unpredictable.
    Si la syntaxe ne marche pas en direct comme je le pensais, il faut donc suivre ce guide....
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    610
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 610
    Points : 213
    Points
    213
    Par défaut
    Donc si je comprends bien il n'est pas possible de manipuler les tableaux directement en exécutant un ordre SQL INSERT.

    Il faut passer par un traitement comme une procédure stockée par exemple.

  6. #6
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Exacte de la même mannière que pour les type BLOB on ne peux les manipuler simplement avec du SQL.

    Pour les array, vous pouvez affecter les valeurs en utilisant les fields. Le field associé à votre colonne array sera de type TArrayField. Je vous invite à consulter la doc de votre langage de programmation sur leur manipulation (Delphi ? BC++ ? autre ?)

    Et en second conseil, éviter de définir et d'utiliser ce type de données. Car plus difficile a manipuler, non standard (si un jour vous voulez que vottre application tourne sous un autre SGBD, il n'est pas certain que celui ci accepte de type de données).

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    610
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 610
    Points : 213
    Points
    213
    Par défaut
    Merci.
    Compte tenu des problèmes que cela pose, je pense que je vais me tourner vers une solution plus simple.

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

Discussions similaires

  1. Commentaires dans ordre sql
    Par awalter1 dans le forum SQL
    Réponses: 2
    Dernier message: 01/02/2013, 07h48
  2. [MySQL] variable 'matable' en php dans requete sql insert
    Par Vortexia dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 08/03/2012, 13h28
  3. Syntaxe "DateDifférence" dans requête sql
    Par Yusmar dans le forum WebDev
    Réponses: 0
    Dernier message: 09/02/2009, 19h00
  4. Comment valider une de deux Option dans un Sql (Insert into)
    Par r.mehdi dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 15/05/2008, 16h20
  5. Syntaxe requete SQL insert into dans VBA
    Par @rkane dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 12/12/2006, 22h03

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