75 votes

Comment vérifier si une colonne existe avant de l'ajouter à une table existante en PL/SQL ?

Comment ajouter une vérification simple avant d'ajouter une colonne à une table pour une base de données Oracle ? J'ai inclus le SQL que j'utilise pour ajouter la colonne.

 ALTER TABLE db.tablename 
  ADD columnname NVARCHAR2(30);

41voto

grokster Points 1179

Ou, vous pouvez ignorer l'erreur :

 declare
    column_exists exception;
    pragma exception_init (column_exists , -01430);
begin
    execute immediate 'ALTER TABLE db.tablename ADD columnname NVARCHAR2(30)';
    exception when column_exists then null;
end;
/

1voto

Java_Alert Points 174

Pour vérifier que la colonne existe

 select column_name as found
from user_tab_cols
where table_name = '__TABLE_NAME__'
and column_name = '__COLUMN_NAME__'

Lien de référence

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X