database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
ㆍSybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Sybase Q&A 2075 게시물 읽기
No. 2075
CURSOR 내에서 현 레코드의 업데이트 질문입니다.
작성자
김준
작성일
2007-10-19 13:18ⓒ
2007-10-19 14:01ⓜ
조회수
6,488

CURSOR 내에서 WHERE CURRENT OF 를 이용하여 현재의 레코드를 업데이트하려고 하는데,

수초 내로 끝나야할 작업이 수십분 동안 디스크를 엄청 읽어대며 CPU load가 꽉 차는데, 왜 그런지를 모르겠습니다.

파워빌더와 Sybase 7입니다. 조언 부탁드리겠습니다.


아래는 파워빌더 내의 해당 스크립트입니다..

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

........(생략)

DECLARE C1 CURSOR FOR


 select column1, column2 from table_name where isnull(itm_ifflag,'') not in ('1','2') for update;


OPEN C1;

DO WHILE true


 FETCH C1 into :ls_var1, :ls_var2;


 IF sqlca.sqlcode = 100 THEN EXIT

 ls_record  = "&M"       

 

 li_write = FileWrite(li_FileNum, ls_record)


 update table_name set itm_ifflag = '1' where CURRENT OF C1; // 이 줄만 막으면 문제없이 다른 작업들이 완료됩니다.


 li_linecnt++


LOOP


CLOSE C1;

[Top]
No.
제목
작성자
작성일
조회
2080sybase백업시.... [2]
이은영
2007-10-29
6924
2079thresh_hysteresis 값에 대해 [1]
궁금.
2007-10-25
6034
2076같은 쿼리문 다른 결과값 [3]
김선진
2007-10-22
7114
2075CURSOR 내에서 현 레코드의 업데이트 질문입니다.
김준
2007-10-19
6488
2072sybase에서 클러스터링 여부를 확인하는 명령어를 알고 싶습니다. [1]
손님
2007-10-18
6554
2071분류 별 4건씩 데이터 가지고오기..총8개 데이터를 한번에.. [1]
양정석
2007-10-17
6562
2070이기종간의 Import [1]
김충관
2007-10-16
6208
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.026초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다