J'utilise Proc SQL pour créer des vues Teradata. J'ai utilisé Execute (pass through facility) et j'ai passé les noms de colonnes en utilisant des variables. Mais les vues qui sont créées n'ont pas les colonnes dans l'ordre qui a été passé dans la requête. Ils sont créés à n'importe quel ordre aléatoire. Y'a t'il un moyen d'arranger cela?Comment commander des colonnes créées avec Proc SQL dans SAS
0
A
Répondre
1
selon la méthode décrite here:
data tmp;
aa = 1;
db = 1;
ac = 1;
bb = 1;
run;
proc sql ;
select name into :VARLIST separated by ', '
from dictionary.columns
where libname = 'WORK'
and memname = 'TMP'
order by name ;
quit ;
proc sql ;
create table ordered as
select &VARLIST
from work.tmp ;
quit ;
0
Pas familier avec Teradata en tant que tel, plus habitués à travailler avec SAS/DB2, mais si au lieu d'utiliser vous exécuter() utiliser quelque chose comme ça - cela va créer la vue sur le côté SAS (qui pourrait ne pas être ce que vous cherchez, je ne suis pas entièrement sûr).
proc sql;
connect to teradata (user=testuser password=testpass);
create view work.myView as
select * from connection to teradata
(select var1, var2, var3
from someTable);
quit;