의 배열을 통해 반복은 여기 내 시나리오입니다 :T-SQL : 알려진 값
의가 나는 특정 ID의 집합에 다른 저장 프로 시저를 호출 할 필요가있는 저장 프로 시저가 있다고 가정 해 봅시다; 이것을 할 수있는 방법이 있습니까?
즉, 대신에이 작업을 수행 할 필요의이 같은 수행
exec p_MyInnerProcedure 4
exec p_MyInnerProcedure 7
exec p_MyInnerProcedure 12
exec p_MyInnerProcedure 22
exec p_MyInnerProcedure 19
:
*magic where I specify my list contains 4,7,12,22,19*
DECLARE my_cursor CURSOR FAST_FORWARD FOR
*magic select*
OPEN my_cursor
FETCH NEXT FROM my_cursor INTO @MyId
WHILE @@FETCH_STATUS = 0
BEGIN
exec p_MyInnerProcedure @MyId
FETCH NEXT FROM my_cursor INTO @MyId
END
여기 내 주요 목표는 유지 보수가 간단을 (쉽게 제거하기/비즈니스 변화에 따라 아이디의 추가) , 모든 ID를 한 줄에 나열 할 수 있습니다 ... 성능이 큰 이슈가되어서는 안됩니다
SQL 서버의 버전은 무엇? –
과 관련하여 varchars와 같은 정수가 아닌 목록을 반복해야하는 경우 커서가있는 솔루션 : [iterate-through-a-lists-of-sql-server] (https://stackoverflow.com/questions)/38388144/iterate-through-a-lists-of-sql-server-in-sql-server) – Pac0