...
정말 커서로만 구현이 가능한 건가요?
그렇다면 어쩔수 없이 사용해야겠지요.
그외의 방법이 있다면 다른 방법으로 시도해보세요.
오라클에서도 커서의 사용은 자제합니다. ^^
오라클도 그랬군요..^^;
답변 고맙습니다.
선배님이 말씀하신게 이거 였군요 전 메인에 커서를 쓴다 하시길레 무슨 이야기 인가 했는데 ^^;
오늘 좋은 얘기 너무 많이 듣고 갑니다. 이쁜 쿼리문제 하나 주신다고 했는데 꼭 주세요 저두 고민해 보겠습니다. 경력이 너무 짧아 잘은 못하지만 열심히 해보겠습니다.
그럼 좋은 시간 되십시요
매커님 그리고 커서를 써서 데이터를 두번 던진다구요?
-_- 무슨 소리죠?
트리거를 써서 데이터를 두번 던진다는 표현이 맞는건지...
그리고 트리거는 3개를 만들어서 써야죠 삭제 에디트 기능이 없으면 모르지만, 그리고 asp 에서 만드는 웹 프로그램 자체가 커서 입니다.
뭔가 잘못 이해하신건지 제가 잘못 이해한건지...^-^
메인페이지에 많은 쿼리 문이 있다면 asp 를 html 로 만들어 주는 프로그램이 있습니다. 메인 페이지 같이 많은 뷰를 갖는 페이지는 html 로 변환 시켜주는 것을 쓰던지 템플릿을 쓰시던지 하시면 원하는 모든 효과를 누리면서 속도도 보장 받을 수 있습니다.
그럼 매커님 화이팅
헛 금요일 제가 회사사정으로 하루 쉬게 되었어요.
그리고 주 5일이라 토요일 쉬고요.
그래서 월요일쯤에 그 문제와 화면을 드리겠습니다.
약속을 지키지 못해 죄송한데요.
커서 쓰지 마시구요.
일반적으로는 임시테이블이 좋구요, 버전2000이라면 테이블 변수를 이용해서 하시는 것이 더 좋습니다.
그 테이블의 primary key는 int에 identity 속성을 주시면 커서를 통해 작업하려고 하는 한 건씩의 작업을 수행할 수 있습니다.
Declare @tmptbl table (seq int identity primary key, nm varchar(30))
, @maxcnt int, @curcnt int
--작업대상 테이블레코드를 테이블변수에 옮기구요
insert @tmptbl(nm) select nm from 작업대상테이블
--전체카운트를 세팅해서 루프에서 나올 조건을 준비
select @maxcnt = count(*) from 작업대상테이블
set @curcnt = 1
while(1=1)Begin SELECT nm from @tmptbl where seq = @curcnt
어떤 작업..
Set @curcnt = @curcnt + 1
if @curcnt > @maxcnt breakEnd
이런 식으로요