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

Interfaces de programmation Oracle Discussion :

[PRO*C] Insert


Sujet :

Interfaces de programmation Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 6
    Par défaut [PRO*C] Insert
    je voudrais savoir s'il est possible dans une commande sql insert d'inserer des données via le clavier et des données prédéfinies:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXEC SQL INSERT INTO Liste (id) VALUES('10-jun-04', 'rue Marie Curie Angers', TO_DATE('08:00 A.M.','HH:MI A.M.'), '10-jun-04', 'rue 8 mai 1945 Saint Barthélemy',TO_DATE('11:00 P.M.', 'HH:MI P.M.'), 10, 003225892460,:id, 489428635770, 452468537832, 4784208743,'Un jour à Bruxelles'");
    id est une valeur introduite par l'utilisateur via scanf
    id est une variable hôte

    merci d'avance

  2. #2
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Bien évidement vous pouvez utiliser des variables hôtes dans vos requêtes (je ne vois pas trop l'utilité d'un programme qui n'utiliserait que des valeurs en dur!). Elles sont préfixées du caractère : (exemple :variable).

    Attention tout de même à votre syntaxe :

    Insert into ma_table (champ) values( champ1, champ2, ...champn) ne fonctionnera pas. Vous devez avoir autant de colonnes dans la description que dans la clause VALUES

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 6
    Par défaut
    je veux des valeurs durs et une variable hôte, je dois faire comment?
    que des variables hôtes, j'ai essayé, ça marche mais dans ce cas si j'aimerais insérer les deux.


  4. #4
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Les variables hôtes sont déclarées au niveau de votre bloc EXEC SQL DECLARE

    Elles peuvent être alimentées avec des littéraux ou des variables de votre programme C.

    Vous devriez consulter quelques exemples dans la documentation Oracle.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 6
    Par défaut
    j'ai le livre pro*c user's guide mais je n'ai pas trouvé.
    je vais encore regarde.
    je sais maint qu'on sait le faire.
    merci

  6. #6
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    ...
    char buf[15];
    int emp_number;
    float salary;
    ...
    gets(buf);
    emp_number = atoi(buf);

    EXEC SQL SELECT sal INTO :salary FROM emp
    WHERE empno = :emp_number;
    ...

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2003
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 10
    Par défaut
    attention afin déviter les effects de bort quand tu déclares tes variables hote dans un bloc [EXEC SQL BEGIN DECLARE SECTION; ... EXEC SQL END DECLARE SECTION;] il ne faut pas oublier de rajouter 1 caractère dans la déclaration de ta variable exemple si tu as une colonne raison_sociale varchar2(36) dans une table, il faut déclarer ta variable de la façon suivante w_raison-sociale[36+1] celà concerne essentiellement les variables varchar et char !!!

    voilà c'était juste une précision 8)

  8. #8
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 6
    Par défaut
    merci

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

Discussions similaires

  1. Différence entre un "bidouilleur" et un Pro ?
    Par christ_mallet dans le forum Débats sur le développement - Le Best Of
    Réponses: 290
    Dernier message: 28/11/2011, 10h53
  2. Pb BDE suite a passage en Windows 2000 pro
    Par ARIF dans le forum Paradox
    Réponses: 4
    Dernier message: 18/11/2002, 11h39
  3. Réponses: 4
    Dernier message: 28/09/2002, 00h00
  4. [filemaker pro]odbc et dsn less
    Par google dans le forum Autres SGBD
    Réponses: 7
    Dernier message: 24/06/2002, 15h26
  5. [PRO*C] Recherche information
    Par Anonymous dans le forum Interfaces de programmation
    Réponses: 2
    Dernier message: 04/04/2002, 17h53

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