Depuis SAS 9.2, un nouveau WARNING apparaît dans la log quand le nom de la table SAS d’entrée est le même que le nom de la table SAS de sortie. Pour éviter ce message, l’option undo_policy=none est à ajouter dans l’instruction proc sql;. SAS support prévient néanmoins que l’usage du même nom en entrée et en sortie présente un risque et que l’option enlève l’avertissement mais pas le risque.
1. Le message dans la log
WARNING: CREATE TABLE statement recursively references the target table
2. Exemple
Ce code générerait le warning avec SAS 9.2 si l’option undo_policy=none n’était pas utilisée.
proc copy in=sashelp out=work; select class; run; proc sql undo_policy=none; create table class as select name, age from class; quit;
En savoir plus