반응형
SQL Server 커서에서 여러 값 가져오기
한 번에 처리하려는 행의 열이 여러 개 포함된 커서가 있습니다.커서를 사용하는 방법에 대한 대부분의 예는 커서의 특정 열을 한 번에 하나씩 스칼라 값에 할당한 다음 다음 행으로 이동하는 것을 보여줍니다.
예.
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
--Do Stuff with @name scalar value, then get next row from cursor
FETCH NEXT FROM db_cursor INTO @name
END
제가 알고 싶은 것은 다음과 같은 작업이 가능한지 여부입니다.
OPEN db_cursor
FETCH NEXT FROM db_cursor;
WHILE @@FETCH_STATUS = 0
BEGIN
SET @myName = db_cursor.name;
SET @myAge = db_cursor.age;
SET @myFavoriteColor = db_cursor.favoriteColor;
--Do stuff with scalar values
FETCH NEXT FROM db_cursor;
END
도움은 언제나 감사합니다.
이렇게 하면 됩니다.
DECLARE db_cursor CURSOR FOR SELECT name, age, color FROM table;
DECLARE @myName VARCHAR(256);
DECLARE @myAge INT;
DECLARE @myFavoriteColor VARCHAR(40);
OPEN db_cursor;
FETCH NEXT FROM db_cursor INTO @myName, @myAge, @myFavoriteColor;
WHILE @@FETCH_STATUS = 0
BEGIN
--Do stuff with scalar values
FETCH NEXT FROM db_cursor INTO @myName, @myAge, @myFavoriteColor;
END;
CLOSE db_cursor;
DEALLOCATE db_cursor;
@@fetch_status 사용 안 함 - 현재 연결의 마지막 커서에서 상태를 반환합니다.아래 예제를 사용합니다.
declare @sqCur cursor;
declare @data varchar(1000);
declare @i int = 0, @lastNum int, @rowNum int;
set @sqCur = cursor local static read_only for
select
row_number() over (order by(select null)) as RowNum
,Data -- you fields
from YourIntTable
open @cur
begin try
fetch last from @cur into @lastNum, @data
fetch absolute 1 from @cur into @rowNum, @data --start from the beginning and get first value
while @i < @lastNum
begin
set @i += 1
--Do your job here
print @data
fetch next from @cur into @rowNum, @data
end
end try
begin catch
close @cur --|
deallocate @cur --|-remove this 3 lines if you do not throw
;throw --|
end catch
close @cur
deallocate @cur
언급URL : https://stackoverflow.com/questions/4974981/get-multiple-values-in-sql-server-cursor
반응형
'programing' 카테고리의 다른 글
Azure 가상 시스템이 웹 사이트를 지원하도록 할 수 없습니다. (0) | 2023.04.26 |
---|---|
Azure 웹 사이트가 절전 모드로 전환되는 것을 방지하는 방법은 무엇입니까? (0) | 2023.04.26 |
화면의 특정 위치에서 마우스 클릭을 시뮬레이션하려면 어떻게 해야 합니까? (0) | 2023.04.26 |
Eclipse 글꼴 및 배경색 (0) | 2023.04.26 |
각도 재료가 각도 재료 코어 테마를 찾을 수 없습니다. (0) | 2023.04.26 |