J'utilise Postgres. Je souhaite changer de type de colonne dans toutes les tables où le nom de la colonne est "Description" de Varchar (255) au texte.
Si quelqu'un sait que je serais très heureux pour votre aide.
Je suppose que vous ne voulez pas courir manuellement tout le nécessaire ALTER TABLE
déclarations.
Vous pouvez utiliser la déclaration suivante pour générer le besoin ALTER TABLE
déclarations:
select 'alter table '||table_schema||'.'||table_name||' alter column '||column_name||' type text;'
from information_schema.columns
where table_schema = 'public'
and column_name = 'description'
and data_type = 'character varying'
and character_maximum_length = 255;
remplacer 'public'
Avec votre schéma si vos tables ne sont pas situées dans le schéma public
.
Exécutez la déclaration ci-dessus, spool la sortie dans un fichier texte, puis exécutez le script généré.
Quelque chose comme ça:
PSQL (9.3.4) Tapez "Aide" pour l'aide. [.____] Postgres =>\T [.____] Affichage seulement.] Postgres =>\o alter.sql postgres => Sélectionnez 'Alter Table' || Table_schema || '.' || Table_name || ' alter colonne '|| colonne_name ||' TYPE TEXT; '[ -> et data_type = 'caractère variable' postgres-> et caractère_maxim_length = 255; [.____] Postgres =>\it Alter.sql [.____]