INSERT / SELECT sur tables multiples
Bonjour,
je souhaiterai savoir s'il est possible de faire un
Code:
1 2 3 4
| INSERT INTO TABLE1
SELECT *
FROM TABLE1
WHERE T1.A = 'mavaleur' |
et ceci en omettant la PK qui est en auto incrément.
La requête peut surprendre et je le conçoit. En fait le but est de dupliquer une ligne sur une table pour des besoins fonctionnels.
Or dans l'exemple ci-dessus ça ne peut évidemment pas fonctionner car j'aurais un 'DUPLICATE ENTRY FOR KEY'. La solution simple serait de faire
Code:
1 2 3 4 5
| INSERT INTO TABLE1
(B,C,D)
SELECT B,C,D
FROM TABLE1
WHERE T1.A = 'mavaleur' |
Cependant j'ai ceci à faire dans une vingtaine de table. D'où ma question, est-il possible de faire cette requête sous forme générique en omettant les clés ? (Ce traitement étant à exécuter côté n-tiers je ne souhaiterai qu'une seule requête en paramétrant juste le nom de la table et la clé ;))
Merci d'avance pour vos réponse.
Cdt.
Alexis.