> php教程 > PHP开发 > 본문

SQL 커서 간단한 예

高洛峰
풀어 주다: 2016-12-14 11:28:16
원래의
1317명이 탐색했습니다.

1. 커서의 역할:

선택 시 결과 세트를 반환하는 과정에서 데이터 행을 읽어야 하는 경우. 이 데이터 행은 읽은 데이터를 기반으로 쿼리 결과 세트를 쿼리 조건으로 반환하는 등 처리해야 합니다. 애플리케이션은 커서를 사용해야 합니다.

커서를 사용하면 사용자는 다음 행, 이전 행, 첫 번째 행 또는 마지막 행을 쿼리하고 이러한 읽은 행을 처리할 수 있습니다.

2. 커서 예시

CREATE FUNCTION GetMRPlnFullBom - 문서 키를 기준으로 문서의 각 행을 쿼리하고 각 행의 데이터를 처리하는 함수를 만듭니다.​​​​

(

DocEntry int,

LineNum int,

LineNumLevel nvarchar(100),

ItmID nvarchar(20),

ItmName nvarchar(100),

LineType char(1),

수량 숫자(19,9),

BomLevel int,

ParentEntry int,

ParentItmID nvarchar(20),

TopEntry int,

TopItmID nvarchar(20),

BaseEntry int,

BaseLineNum int ,

BaseType int

)

AS

BEGIN

@Itm ID varchar(50) 선언 , @ Qty int ,@LineNum int ,@ObjType int --지역 변수 선언

--커서 선언 시 다음 MRPlnA_ItmID와 같이 XXX 앞에 @를 추가할 수 없으며 형식은 DECLARE입니다. XXX CURSOR FOR

DECLARE MRPlnA_ItmID CURSOR FOR

SELECT ItmID , Qty ,LineNum , ObjType FROM MRPlnA 여기서 DocEntry = @DocEntry --문은 DECLARE XXX CURSOR FOR와 OPEN XXX 사이에 있어야 합니다.

Open MRPlnA_ItmID --커서 열기

FETCH NEXT FROM MRPlnA_ItmID INTO @ItmID , @Qty ,@LineNum , @ObjType --FETCH NEXT FROM XXX INTO ... 커서 사양 업데이트 레코드 및 Wrap 을 사용하고 선택한 데이터를 임시 변수에 저장합니다. NEXT 외에도 FETCH 형식에는 PRIOR, FRIST 및 LAST도 포함됩니다. 이전 줄, 첫 번째 줄, 마지막 줄입니다. ​

WHILE @@FETCH_STATUS = 0 --@@FETCH_STATUS 전역 변수, FETCH의 마지막 상태를 쿼리하고 루프를 제어하는 ​​데 사용됩니다. 읽기가 완료되면 0, 읽기에 실패하면 -1, 레코드가 삭제되면 -2입니다.

시작 

@TAB에 삽입 

DocEntry,LineNum,LineNumLevel,ItmID,ItmName,LineType,Qty*@Qty,BomLevel,ParentEntry, 

ParentItmID,TopEntry,TopItmID , @DocEntry SourceEntry ,@LineNum BaseLineNum ,@ObjType BaseType  

From GetBomFullItems(@ItmID, 'V 1.0', GetDate()) TD --GetBomFULLItmes는 또 다른 쿼리 함수입니다. ​

MRPlnA_ItmID INTO @ItmID , @Qty ,@LineNum , @ObjType -- 선택하면 다음 줄로 이동합니다.

END

CLOSE MRPlnA_ItmID --커서 닫기

DEALLOCATE MRPlnA_ItmID --커서 해제

RETURN

END

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!