update sur ttes mes tables commençant par "IT_" - SQL/NoSQL - Programmation
Marsh Posté le 27-07-2005 à 14:54:30
O g oublié de dire que c t sous Oracle 8
Voila a koi je pensais que ça pouvais ressembler
update like 'it_%'
set ID = '0150'
WHERE ID = '0657'
mais niette (
Marsh Posté le 27-07-2005 à 17:38:40
tu peux par exemple construire un script SQL qui contiendra tous les UPDATE.
Exemple:
SELECT 'UPDATE ' || owner || '.' || table_name || ' SET ' || column_name || ' = ''' || ta_chaine_2 || ''' WHERE ' || column_name || ' = ''' || ta_chaine_1 || ''';'
FROM ALL_TAB_COLUMNS
WHERE table_name LIKE 'IT_%';
Si tu ne veux pas passer par la construction d'un script SQL, tu peux utiliser des fonctions Oracle permettant d'exécuter une commande SQL passée dans une chaîne de caractères (je retrouve pas la commande là, mais je l'ai déjà utilisée).
Marsh Posté le 28-07-2005 à 08:56:28
Voici une commande plus complète, qui lance les UPDATE :
Code :
|
Remplace chaine_1 et chaine_2 par les bonnes valeurs
Et vérifie d'abord que le SELECT renvoie bien toutes les tables / colonnes que tu veux mettre à jour.
Marsh Posté le 27-07-2005 à 14:45:25
Bonjour,
Je cherche une requete pour en une seul requete faire un changement de chaine de carracteres:
je m explique :
G un certain nombre de table qui commence tte par "IT_"
je voudrais en une requete lui faire scruter tt les champs et
si il trouve dans les tables commençant par "IT_" la "chaine_de_caractere_1",
il me la remplace par la "chaine_de_caractere_2".
1 Est ce possible ?
2 si ui comment ??
d'avance merci
---------------
homogene