Если вы уже создали таблицу в Teradata, одним из способов является использование proc append или proc sql с использованием libname.Fastload выполняет массовую загрузку.Пример показан ниже
libname teralib teradata server=server user=userid pwd=password ;
libname saslib '/u/mystuff/sastuff/hello';
proc append base= teralib.staging_customer_ref(fastload =yes)
base = saslib.cust_ref;
run;
или с помощью оператора вставки в Proc sql
proc sql;
insert into teralib.staging_customer_ref
(FastLoad=YES)
select * from saslib.cust_ref;
quit;
. Пожалуйста, посмотрите ниже статью, в которой рассматриваются различные варианты перемещения данных из SAS в Teradata * 1007.*http://support.sas.com/resources/papers/EffectivelyMovingSASDataintoTeradata.pdf
Редактировать: Просто прочитайте ваш вопрос полностью, если вы хотите, чтобы имена соответствий в операторе вставки (который работает с позицией), вероятно, вам нужно создать макропеременную и использовать в ней вставку statemnt, и, вероятно, proc addnd лучше всего подходит для этого.сценарий, когда proc добавляется на основе имен столбцов
proc sql noprint;
select name into :cols separated by ','
from Dictionary.columns
where upcase(libname) = upcase('teralib')
and upcase(memname) = upcase('staging_customer_ref');
proc sql;
insert into teralib.staging_customer_ref (FastLoad=YES)
select &cols from saslib.cust_ref;
Edit2: похоже, что оба ваших набора данных не совпадают (т.е. типы данных не совпадают).вы можете предпринять следующие шаги
вы можете изменить DDL таблицы Teradata и сделать вставку, или вы можете.
do proc add с опцией force,так что у вас есть нулевые значения при несовпадении данных (не рекомендуется).
создавать таблицу, а не вставлять (может быть сделано с помощью datastep или proc append) опция dbcreate_table_opts используется для создания соответствующего первичного индексадля таблицы Teradata.
точка 1 является более предпочтительной.
proc sql;
create table teralib.staging_customer_ref
(FastLoad=YES dbcreate_table_opts= 'primaryindex(cust_number)') as
select * from saslib.cust_ref;
quit;