php教程 PHP开发 SQL Server 커서 처리 루프

SQL Server 커서 처리 루프

Dec 14, 2016 am 11:49 AM

3개의 데이터 테스트

CREATE TABLE test_main (
id      INT,
value   VARCHAR(10),
PRIMARY KEY(id)
);
로그인 후 복사

INSERT INTO test_main(id, value) VALUES (1, 'ONE');

INSERT INTO test_main(id, value) ) VALUES (2, 'TWO');

INSERT INTO test_main(id, value) VALUES (3, 'THREE');

간단한 루프 처리

DECLARE

@id INT, @value VARCHAR(10);

BEGIN

-- 커서를 정의합니다.

DECLARE c_test_main CURSOR FAST_FORWARD FOR

SELECT id, value FROM test_main;

-- 커서를 엽니다.

OPEN c_test_main;

--데이터를 채웁니다.

다음 가져오기 FROM c_test_main INTO @ id, @value;

--데이터가 검색되면 처리됩니다.

WHILE @@fetch_status = 0

BEGIN

PRINT @value;

- 다음 데이터를 입력합니다.

FETCH NEXT FROM c_test_main INTO @id, @value;

END;

- 커서 닫기

CLOSE c_test_main;

-- 커서를 놓습니다.

DEALLOCATE c_test_main;

END;

go

ONE

TWO

THREE

업데이트 커서

DECLARE

@id INT, @value VARCHAR (10);

BEGIN

--커서를 정의합니다.

DECLARE c_test_main CURSOR FOR

SELECT id, value FROM test_main

업데이트용;

--커서 열기.

OPEN c_test_main;

--데이터 채우기.

c_test_main INTO @id, @value에서 다음 항목 가져오기 ;

--데이터가 검색되면 처리됩니다.

WHILE @@fetch_status = 0

BEGIN

PRINT @value;

--데이터 업데이트 .

UPDATE

test_main

SET

value = value + '1'

WHERE

CURRENT OF c_test_main;

--다음 데이터를 입력합니다.

FETCH NEXT FROM c_test_main INTO @id, @value;

END;

--커서 닫기

CLOSE c_test_main;

-- 커서를 놓습니다.

DEALLOCATE c_test_main;

END;

go

ONE

(1 행 영향 받음)

TWO

Three

SELECT * FROM test_main;

이동

id          값

------------ ----------

                                                                                                                      🎜> 3 Three1


(3행 영향)


뒤로 스크롤하는 지원되는 커서 앞으로


참고: 테스트 목적으로 test_main 테이블의 데이터가 11개 항목으로 늘어났습니다.

DECLARE

@id INT, @value VARCHAR(10);

BEGIN

​​​​-- 커서를 정의합니다.

DECLARE c_test_main CURSOR SCROLL FOR
SELECT id, value FROM test_main ;

-- 커서를 엽니다.
OPEN c_test_main;

-- 데이터를 채웁니다.

FETCH FIRST FROM c_test_main INTO @id, @value;
PRINT '커서 첫 번째 행:' + @value;

-- 데이터를 채웁니다.
FETCH LAST FROM c_test_main INTO @id, @value;
PRINT '마지막 행 커서에서:' + @value ;

-- 데이터를 채웁니다.
FETCH ABSOLUTE 3 FROM c_test_main INTO @id, @value;
PRINT '커서의 라인 3 [절대 주소] :' + @value;

-- 데이터를 채웁니다.
FETCH RELATIVE -2 FROM c_test_main INTO @id, @value;
PRINT '커서 [상대 주소]의 라인 -2: ' + @value;

-- 데이터를 채웁니다.
FETCH PRIOR FROM c_test_main INTO @id, @value;
PRINT '커서의 이전 행:' + @value;

-- 데이터를 채웁니다.
FETCH NEXT FROM c_test_main INTO @id, @value;
PRINT '커서의 다음 줄:' + @value;

-- 커서 닫기
CLOSE c_test_main;
-- 커서를 놓습니다.

DEALLOCATE c_test_main;

END;
go



요약


SQL-92 구문

DECLARE 커서_이름 [ INSENSITIVE ] [ SCROLL ] CURSOR

FOR select_statement

[ FOR { 읽기 전용 | UPDATE [ OF 열 이름 [ ,...n ] ] } ]


Transact-SQL扩 확장语법

DECLARE 커서 이름 CURSOR

[ 로컬 | 글로벌 ]

[ FORWARD_ONLY | 스크롤 ]

[ 정적 | 키셋 | 다이나믹 | FAST_FORWARD ]

[ 읽기 전용 | 스크롤_잠금 | 낙관적 ]

[ 유형_경고 ]

FOR select_statement

[ FOR UPDATE [ OF 열 이름 [ ,...n ] ] ]


본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)