Использование: SAS Enterprise Guide 7.13
ЦЕЛЬ: я пытаюсь выполнить внутреннее соединение таблицы SAS с таблицей в Teradata с помощью SAS EG без использования подзапроса.
Примечание:У меня нет привилегий записи, кроме изменчивых таблиц в Teradata.
Мой текущий подход ниже приводит к следующей ошибке.ОШИБКА: Teradata prepare: База данных '& USDomID.E' не существует.Ошибка возникает при создании таблицы XREF_CAK с использованием соединения с Teradata.
PROC SQL;
CONNECT TO TERADATA (USER=&tuserid. PASSWORD=&tpswd. TDPID=DWPROD2 CONNECTION=GLOBAL MODE=TERADATA SCHEMA=EDW_ALLPHI);
CREATE TABLE xin AS
SELECT DISTINCT
&xref_cak. AS XREF_CAK,
adjdctn_dt
FROM
&datain.;
QUIT;
LIBNAME &USDomID.E TERADATA USER=&tuserid. PASSWORD=&tpswd. TDPID=xxxx CONNECTION=GLOBAL DBMSTEMP=YES TPT=NO MODE=TERADATA;
PROC SQL;
CONNECT TO TERADATA (USER=&tuserid. PASSWORD=&tpswd. TDPID=xxxx CONNECTION=GLOBAL MODE=TERADATA SCHEMA=EDW_ALLPHI);
%dropvts(myxref)
QUIT;
PROC SQL;
PROC APPEND DATA=xin BASE=&USDomID.E.myxref (TPT=NO MULTISTMT=YES);
RUN;
PROC SQL;
CONNECT TO TERADATA (USER=&tuserid. PASSWORD=&tpswd. TDPID=xxxx CONNECTION=GLOBAL MODE=TERADATA SCHEMA=EDW_ALLPHI);
CREATE TABLE XREF_CAK AS
SELECT *
FROM CONNECTION TO TERADATA (
SELECT
CLM_SOR_CD,
CLM_ADJSTMNT_KEY,
SRC_SBSCRBR_ID,
SRC_MBR_SQNC_NBR,
CONCAT('SCCF ',CLM_ITS_SCCF_NBR) AS CLM_ITS_SCCF_NBR_FORMATTED, CAST(CLM_ITS_SCCF_NBR_FORMATTED AS varchar(35)),
CASE
WHEN CLM_SOR_CD ='822' THEN 'AC'
WHEN CLM_SOR_CD ='823' THEN 'CF'
WHEN CLM_SOR_CD ='869' THEN 'CH'
WHEN CLM_SOR_CD ='809' THEN 'CS'
WHEN CLM_SOR_CD ='824' THEN 'NA'
WHEN CLM_SOR_CD ='808' THEN 'WG'
WHEN CLM_SOR_CD ='889' THEN 'VAITS'
ELSE CLM_SOR_CD
END AS SOR_CD_TXT,CAST(SOR_CD_TXT AS varchar(5)),
CONCAT(SOR_CD_TXT,',',SRC_SBSCRBR_ID,',',SRC_MBR_SQNC_NBR,',',CLM_ITS_SCCF_NBR_FORMATTED) AS XREF_CAK_CONCAT, CAST(XREF_CAK_CONCAT AS varchar(100))
FROM EDW_ALLPHI.CLM
INNER JOIN
&USDomID.E.myxref x on
x.XREF_CAK = c.clm_adjstmnt_key and
x.adjdctn_dt = c.adjdctn_dt
);
DISCONNECT FROM TERADATA;
QUIT;