블로그는 나의 힘!
[ Programing ]/Database2020. 7. 27. 11:23

 

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

 

[MS-SQL] 커서(cursor) 사용법 및 예제

​안녕하십니까 Awesome Kyle입니다.이번 포스팅에서는 MS-SQL에서 행단위의 반복작업을 위해 사용...

blog.naver.com

형 변환 - http://blog.naver.com/anne9/222025031766

 

[MSSQL 숫자를 문자로, 문자를 숫자로] 형변환 CAST, CONVERT

ORACLE의 경우는 TO_NUMBER, TO_CHAR, TO_DATE만 알면 끝이고 사용법도 너무 쉽...

blog.naver.com

커서 사용 예제 - http://gyunbox.tistory.com/143

 

[MS-SQL] 커서 / 루프 / 커서 사용하기 / CURSOR

create table #tmp ( name nvarchar(10), pwd nvarchar(10)) insert into #tmp values ('강감찬','111') insert into #tmp values ('김유신','222') insert into #tmp values ('이순신','333') DECLARE @Target_n..

gyunbox.tistory.com

 

 

 

 

Posted by Mister_Q