2014-12-10 2 views
1

각 저장 프로 시저에서 생성 된 말 3/4 임시 테이블과 함께 결과 집합을 출력하는 일련의 저장 프로 시저가 있습니다.저장 프로 시저 임시 테이블에서 데이터 집합 테이블 만들기

임시 테이블 중 하나의 데이터를 사용하여 SAS 데이터 세트 테이블을 생성하고 싶습니다. 현재 내가 참조 할 수있는 것은 모두 sp의 결과 집합입니다.

나에게 SP 결과 집합주는 순간 코드 : 대신 예에서와 같이 결과 집합을 참조하는, 그래서

DATA table_name 
SQL "EXEC sp_name '" & %parameter1 & "', '" & %parameter2 & "','" & %parameter3 & "'" ; 
RUN; 

, 나는 임시 테이블을 참조 할 수 있습니다?

감사합니다.

+0

안녕하세요. SAS 또는 SQL Server Management Studio와 같은 저장 프로 시저를 실행하고 있습니까? – rwking

+0

또한 다음을 확인할 수 있습니까? 제 생각에는 이해하지만 확실하길 원합니다 - 스토어드 프로 시저가 임시 테이블을 생성합니다. 현재 SAS에 결과 세트를 가져올 수 있지만 임시 테이블을 SAS로 가져 오려고합니다. 옳은? – rwking

+0

저장 프로 시저가 SAS에서 실행 중입니다. - 테스트 중이며 sp를 Management Studio에 작성했습니다. 두 번째 요점은 정확합니다. 결과 세트를 얻지 만 임시 테이블도 필요합니다. – steve

답변

2

당신은 SQL 패스 스루 문이를 얻을 수 있습니다

proc sql; 
    connect to odbc as YourAlias (dsn = YourDSNName connection = SHARED); 
    execute (
      exec uspYourStoredProcedure; 
      ) by YourAlias; 

create table SAS.YourDataSet as 
    select * 
    from connection to YourAlias (
            select * 
            from #TempTableCreatedAbove 
           ); 
disconnect from YourAlias; 
quit; 

당신은 다음과 같은 예를 수정해야합니다 :

YourAlias = 연결에게 별칭을 부여

YourDSNName = 시스템을 연결을위한 DSN

uspYourStoredProcedure = 저장된 이름으로 바꾸기 절차

YourDataSet = 새 SAS 데이터 세트에 대한 귀하의 저장 프로 시저

를 실행 한 결과적으로 작성된 임시 테이블의 이름으로 변경 =

#TempTableCreatedAbove 당신은 새로운 SAS 데이터를 볼을의 이름을 입력합니다 위의 값을 대체하고 명령문을 실행하면 설정하십시오.

관련 문제