Bonjour
Je voulais savoir si c'est possible de faire un update de la TABLE1 après un select de la TABLE1 puis un INSERT dans une TABLE2 dans la même commande.
Merci d'avance pour votre aide.
salutations
Ossy
Bonjour
Je voulais savoir si c'est possible de faire un update de la TABLE1 après un select de la TABLE1 puis un INSERT dans une TABLE2 dans la même commande.
Merci d'avance pour votre aide.
salutations
Ossy
Bonjour,
Les commandes ce sont les ordres tels que start, stop, display, recover...
Si la question est de savoir si l'on peut effectuer plusieurs ordres SQL dans une même transaction, alors la réponse est oui : il suffit de les séparer par un ";" et de positionner le commit ou le rollback en fin de transaction pour garantir la cohérence de l'ensemble
Bonjour je pense que vous devriez essayer l'ordre MERGE. Ci-joint un lien sur cet ordre,
https://www.ibm.com/support/knowledg...sql_merge.html
Attention tout de même, je déconseille cette syntaxe pour du traitement de masse. À tester mes repères ne sont pas tout jeunes ceci était vrai il y quelques années les choses ont sans doute évolué.
Bonne journée.
Bonjour Escartefigue,
Voici la description de l'ordre:
The MERGE statement updates a target (a table or view, or the underlying tables or views of a fullselect) using the specified input data.
Il est donc possible de modifier plusieurs objets via MERGE.
Oui, mais en même temps, voici ce qui est mentionné dans DB2 11 for z/OS SQL Reference (page 1829) :
INTO table-name or view-name
Identifies the target of the insert or update operations of the MERGE
statement. The name must identify a table or view that exists at the current
server. The name must not identify:
v A catalog table
v A created global temporary table
v A read-only view
v A system-maintained materialized query table
v A table that is implicitly created for an XML column
If a view is specified as the target of the MERGE statement, the view must not
be defined with any INSTEAD OF triggers.
La clause INTO étant unique, je ne vois pas comment plusieurs tables ou vues pourraient être concernées par le MERGE, en tout cas je ne l'ai jamais vu (sauf à créer une vue multi-table, ce qui est rare pour une MàJ)
Par contre, il est possible d'utiliser plusieurs tables ou vues comme source de données afin d'exécuter l'ordre MERGE, mais vers une cible unique
A moins qu'il s'agisse d'un option sur les DB2 non Z/OS ?
Bonjour.
Et un trigger sur la table 1 (sur update) qui écrirait dans la table 2, ça ne pourrait pas convenir ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager