Imaginons que vous souhaitez créer une table par script SQL sur Oracle 11 (par exemple la table TEST).
Mais vous ne savez pas si elle existe déjà ou non.
Et surtout vous ne voulez aucune erreur (ni à la création, ni à la destruction) !
Vous pouvez alors utiliser un script de configuration comme suit :
DECLARE
t_count INTEGER;
v_sql VARCHAR2(1000) := 'DROP TABLE "TEST" CASCADE CONSTRAINTS';
BEGIN
SELECT COUNT(*)
INTO t_count
FROM user_tables
WHERE table_name = 'TEST';
IF t_count > 0 THEN
EXECUTE IMMEDIATE v_sql;
END IF;
END;
Qui effacera la table si et seulement si elle existe préalablement.
Ensuite le script de création pourra se dérouler normalement, et sans erreurs.