CURSOR |
행단위 반복 작업이 필요하다면 사용. 단점 : 속도가 느리기 때문에 필요 상황 시에만 사용. |
CREATE TABLE #TempTable ( [name] NVARCHAR(10), [Password] INT)
INSERT INTO #TempTable VALUES('Target1', 111)
INSERT INTO #TempTable VALUES('Target2', 222)
INSERT INTO #TempTable VALUES('Target3', 333)
DECLARE @TargetName NVARCHAR(10)
DECLARE @TargetPassWord INT = 0;
-- 커서 선언. 행단위 반복 작업이 필요하다면 사용.
-- 단점 : 속도가 느리기 때문에 필요 상황 시에만 사용.
DECLARE CUR CURSOR
FOR SELECT [name], [Password] FROM #TempTable
OPEN CUR;
FETCH NEXT FROM CUR INTO @TargetName, @TargetPassWord
WHILE(-1 <> @@FETCH_STATUS)
BEGIN
PRINT(@TargetName + ' : ' + CONVERT(NVARCHAR(10), @TargetPassWord))
--SELECT @TargetName, @TargetPassWord
FETCH NEXT FROM CUR INTO @TargetName, @TargetPassWord
END
DROP TABLE #TempTable;
CLOSE CUR;
DEALLOCATE CUR;
주의 :
라이브 DB 에는 사용 하지 말자. Query를 분해해서 View를 적극적으로 쓸 수 밖에 없다.
사용해야 한다면 미러DB(백업DB)에서 사용하길 권장한다.
출처 :
커서 정의 - http://blog.naver.com/nieah914/221485710291
형 변환 - http://blog.naver.com/anne9/222025031766
커서 사용 예제 - http://gyunbox.tistory.com/143
'[ Programing ] > Database' 카테고리의 다른 글
mssql 날짜 자르기. (시 분 초 초기화) (0) | 2020.11.16 |
---|---|
[Visual Studio] MS-SQL 데이터베이스 스키마 비교. (0) | 2020.10.16 |
mssql 복원 스크립트. (0) | 2020.06.26 |
mssql 복원 .bak 파일 논리명 확인 (0) | 2020.06.26 |
MS-SQL Table, Type, SP 검색. (0) | 2020.06.19 |