создание временной таблицы в базе данных с использованием значений в наборе данных sas - PullRequest
0 голосов
/ 13 января 2012

Может ли кто-нибудь помочь мне с синтаксисом создания временной таблицы в базе данных со значениями из набора данных SAS? Я хочу использовать эту временную таблицу рядом с другими таблицами в базе данных.

libname X odbc dsn=aaabbb uid=abcd pwd=efgh quote_char=''; 

data X.vishtest;   
set test.noosbtest; 
run; 

Я хочу создать 'vishtest' как временную таблицу со значениями в наборе данных SAS 'test.noosbtest'.

Я создал временную таблицу в более ранней попытке, подобной следующей, и удалил значения в ней, но затем я не могу поместить значения набора данных sas в эту временную таблицу:

select * from connection to X(Create temp table vishtest as select var1 from table1 limit 20); 

select * from connection to X(delete from tempdb.vishwatemp a);

1 Ответ

1 голос
/ 19 января 2012

Вы должны убедиться, что ваш локальный набор данных sas имеет те же столбцы, что и таблица базы данных.

Если ваша существующая таблица базы данных - X.my_table, а ваш локальный набор данных - mylib.the_data, вы можете попробовать это:

proc sql;
    create table X.my_table_empty like X.my_table;
    create table the_data_empty like mylib.the_data;
quit;
proc compare
    data = my_table_empty
    compare = the_data_empty;
run;

Если proc proc возвращается и сообщает вам, что две таблицы идентичны, то вы сможете загрузить свою таблицу данных во временную таблицу:

proc append
    base = X.my_table_empty
    data = mylib.the_data;
run;

Оригинальный ответ:

Это создание временной таблицы vishtest из другой существующей таблицы. с около 20 строк данных, и я удаляю содержимое временного стол виштест. Пока все работает нормально ... но дальше я хочу ввести значения этой временной таблицы из набора данных SAS, который находится на моем локальном диск или lib, что я не могу сделать

Если vishtest содержит те же столбцы, что и ваш набор данных sas, то это может работать на вас:

proc append
    base = X.vishtest
    data = test.noosbtest;
run;
...