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

Oracle Discussion :

Mot clé SET absent


Sujet :

Oracle

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut Mot clé SET absent
    Bonjour,

    Lorsque je fais cette requête sous Oracle:
    UPDATE proact p, cra c SET p.projet = :projet, c.projet := :projet WHERE p.projet = :original_projet AND c.projet = :original_projet
    Il me mets :
    mot clé SET absent

    Donc c'est qu'il s'arrête avant.
    Pourquoi???on ne peux pas faire un update de 2 tables sous Oracle???

    Merci

  2. #2
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Citation Envoyé par cnguyen
    on ne peux pas faire un update de 2 tables sous Oracle???
    Si, mais en 2 lignes de commande.

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    Justement, à la base je l'avais fais en 2 lignes de commandes.
    Mais sa ne marche pas, je ne sais pas pourquoi??

    Il faut savoir que je passe par un SQLDataSource et dans celui ci je mets simplement :
    UPDATE proact SET projet = :projet WHERE (projet = :original_projet)
    UPDATE cra SET projet = :projet WHERE (projet = :original_projet)

    Et il me dis que la requete ne se termine pas correctement, donc il ne vas pas a la 2nde igne je pense

    Une solution???

  4. #4
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Citation Envoyé par cnguyen
    Justement, à la base je l'avais fais en 2 lignes de commandes.
    Mais sa ne marche pas, je ne sais pas pourquoi??
    Sans l'erreur oracle, difficile de savoir pourquoi

    Peut-être manque-t-il les points virgules ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE proact SET projet = :projet WHERE (projet = :original_projet);
    UPDATE cra SET projet = :projet WHERE (projet = :original_projet);
    NB : merci de penser aux balises code

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    L'erreur comme je l'ai dis au dessus c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-00933: la commande SQL ne se termine pas correctement
    Sinon j'ai deja essayé avec les ";" et il me mettait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-00911: caractère non valide
    Merci encore pour votre aide

  6. #6
    Membre actif Avatar de Nounoursonne
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 264
    Points : 208
    Points
    208
    Par défaut
    SET p.projet = :projet, c.projet := :projet
    devrait être
    SET p.projet = :projet, c.projet = :projet

  7. #7
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    oui pas de probleme pour sa, c'est moi qui est mal recopié ma requete desolé eh eheh.
    Sinon je ne trouve toujours pas la solution :s
    Pourrais-je faire sa sinon dans un trigger???si oui, comment??

  8. #8
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Je ne connais pas SQLDataSource, mais peut-être ne peux-tu pas passer 2 requêtes dans un même SQLDataSource. Pourquoi ne pas en créer 2 ?

  9. #9
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    On peux faire 2 updates dans un SQLDataSource car dans avant cette appli etait sous SQLServer et les 2 updates marchaient :d
    Sinon pour les 2 SQLDataSource, le probleme c'est qu'a un tableau on peux lier qu'un seul SQLDataSource :s

    Sinon est ce que je pourrais faire l'update des 2 tables dans un procedure stockée???si oui, comment??? car le SQLDataSource peux utiliser les procedures stockées

  10. #10
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Avec une procédure comme celle ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    create or replace procedure upd_projet (newProjet in number, oldProjet in number) is
    begin
      UPDATE proact SET projet = newProjet WHERE (projet = oldProjet);
      UPDATE cra SET projet = newProjet WHERE (projet = oldProjet);
    end;
    /
    (à toi de voir le type que tu dois mettre pour newProjet et oldProjet)

    Puis quand tu appelles ta procédure stockée tu passes en paramètres les valeurs :projet et :original_projet.

  11. #11
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 284
    Points : 90
    Points
    90
    Par défaut
    Rolala sa passe pas :s je sais pas comment faire avec la procedure stockée pour qu'elle fonctionne correctement :s

  12. #12
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Le code de la procédure stockée est correct.

    Je pense que ton problème est plus lié à SQLDataSource. Ce n'est donc pas un problème oracle, je pense que si tu postais dans le forum correspondant, tu aurais plus de chance d'avoir une réponse pertinente

Discussions similaires

  1. ORA-00926: mot-clé VALUES absent lors de l'insertion avec tOracleOutPut
    Par hikamovic dans le forum Développement de jobs
    Réponses: 5
    Dernier message: 19/02/2015, 17h27
  2. Réponses: 12
    Dernier message: 06/08/2009, 17h16
  3. ORA-00905: mot-clé absent
    Par sofuzion dans le forum SQL
    Réponses: 4
    Dernier message: 07/12/2008, 17h29
  4. Quel est l'intérêt des mots clé get et set ?
    Par verbose dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 30/09/2008, 17h19
  5. ORA-00905: Mot-clé absent
    Par oraclinfo dans le forum Oracle
    Réponses: 2
    Dernier message: 19/09/2006, 15h11

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