2014-03-24 1 views
0

저장 프로 시저를 호출하고 프로 시저의 출력을 테이블로 덤프 할 SSIS 패키지를 만들고 싶습니다.SSIS에서 저장 프로 시저를 호출하는 방법은 무엇입니까?

SSIS 패키지는 출력을 반환하고 다른 테이블로 덤프하려면이 결과 집합을 필요로합니다. 하지만 삽입하기 전에 해당 날짜에 행이 있거나 결과 집합을 삽입하면 해당 테이블의 행을 업데이트하려고합니다.

+0

SQL 실행 태스크는 원하는 것입니다. –

답변

0

I do't 확실히 당신의 요구 사항을 이해하지만 당신은 그것을 이런 식으로 할 수있는 :에

  1. 놓기는 SQL 작업

  2. YourStagingTable이 존재하고 열이 저장 프로 시저의 출력과 일치 확인 실행

다음은 원하는 작업을 수행하는 SQL 실행 태스크의 일부 샘플 코드입니다.

-- Clear Staging Table 
TRUNCATE YourStagingTable 

-- Save results of stored proc into staging table 
INSERT INTO YourStagingTable 
EXEC YourProc 

-- Update any existing records 
UPDATE YourFinalTable 
SET YourUpdateField = YourStagingTable.YourSourceField 
FROM YourStagingTable 
WHERE YourFinalTable.JoinField1 = YourStagingTable.JoinField1 

-- Insert any non existing records 
INSERT INTO YourFinalTable (Column1,Column2) 
SELECT Column1,Column2 
FROM YourStagingTable 
WHERE NOT EXISTS (
    SELECT 1 FROM YourFinalTable 
    WHERE YourFinalTable.JoinField1 = YourStagingTable.JoinField1 
    ) 
+0

원본 테이블과 대상 테이블이 모두 서로 다른 데이터베이스에 있습니다. –

+0

그들은 같은 서버에 있기 때문에 단순히 다음과 같이 정규화하십시오 : db.schema.table –

+0

고맙습니다 .... –

관련 문제