2014-01-13 2 views
-1

하나의 테이블 (약 900 개의 항목이 있음)의 ID- 열 값을 입력으로 사용하여 필요한 작업을 수행하는 저장 프로 시저가 있습니다. SQL-Statement (SQL에없는 for-loop와 유사)에 의해 ID-column의 모든 값에 대해 저장 프로 시저를 실행할 수있는 쉬운 방법이 있습니까?값 집합에 대한 프로 시저 실행

힌트를 보내 주셔서 감사합니다! 마틴

멜빈

+1

질문이 시도 된 노력을 보여 주어야합니다. 현재 코드와 시도한 것을 보여주십시오. – Kermit

+2

커서 나'WHILE' 루프를 사용할 수 있지만, TVP를 받아 들여 세트 방식으로 저장 프로 시저를 처리하는 것이 가장 좋습니다. –

+0

당신은 proc을 900 번 실행해야하기 때문에 루프 나 커서를 사용하는 대신 말합니다. 당신은 성능면에서 더 나은 SSIS를 사용할 수 있습니다. – Rahul

답변

0

감사합니다,

내가 커서 버전에 가서 충분히 빠르게 작동합니다 코드를 요청

DECLARE @ProID int 
DECLARE position_cursor CURSOR 
    FOR SELECT ProID FROM MyTable 
OPEN position_cursor 
FETCH NEXT FROM position_cursor INTO @ProID 

WHILE @@FETCH_STATUS = 0 
BEGIN 
    exec MyProcedure @ProID 
    FETCH NEXT FROM position_cursor INTO @ProID 
END 
CLOSE position_cursor 
DEALLOCATE position_cursor