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

PL/SQL Oracle Discussion :

Modification "globale" d'un enregistrement


Sujet :

PL/SQL Oracle

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Modification "globale" d'un enregistrement
    Re-bonjour,

    Voici mon pb :

    Je modifie un certain nb de champs d'un tuple qui en contient bq. Les champs modifiées dépendent du contexte de la transaction.

    Pour Updater l'enregistrement, pour l'intant je ne vois que 3 solutions:
    1) faire un update a chaque modification d'un champ
    => performance=bof
    2) faire un update gl mais je n'ai pas trouver comment le faire sans enoncer tous les champs "SET<champ>=<<valeur>"
    => super lourd car bq de champs et comme a l'écriture de la requete je ne connais pas ceux qui vont reelement etre modifier, je suis obligé de les mettres tous
    => pas tres joli et fastidieux
    3) delete+insert
    => perf=bof et pas tres joli

    Donc, y a-t'il moyen de faire
    - soit un update "global" a partir d'une variable de type record
    - soit de constituer dynamiquement le champ "SET..." dans une variable, et si oui, y a-t'il une limite a la longueur d'une ligne de commande PLSQL ?

    Merci encore

  2. #2
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Finalement trouvé :

    UPDATE <maTable> SET ROW <monRecord> WHERE ... ;

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

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