2017-05-20 3 views
-1

방금 ​​새 열을 추가 한 테이블에 내 DB가 있습니다.이 테이블을 Perl로 쿼리 할 때이 필드가 비어 있으면 한 번만 확인하려고합니다. 첫 번째 행에서이 열의 값을 확인해야합니다. 보통 내가 while 루프의 각 행을 확인할 수 있습니다하지만 난 한 번만 할 필요가 있기 때문에, 내가 그 일을 시간을 낭비하고 싶지 않아사용하지 않고 DBI 쿼리의 값 확인

while (my $row = $sthmm->fetchrow_hashref()) { 
    # do stuff 
} 

를 사용하여 쿼리 결과를 통해 이동합니다.

하나의 행을 검색하고 값을 사용하지 않고 열의 값을 검사 할 수 있습니다. 즉,이 조건을 확인한 후에도 while 루프에서 전체 결과를 계속 처리 할 수 ​​있습니다.

+0

왜 처음에 필요한 결과를 직접 쿼리하지 않습니까? –

+1

먼저 확인해야하는 이유는 무엇입니까? – Strawberry

답변

4
if (my $row = $sth->fetchrow_hashref()) { 
    # Do stuff with first row 

    do { 
     # Do stuff to be done to each row 
    } while $row = $sth->fetchrow_hashref(); 
} 
+0

하단 구동 루프 (영어로 된 루프인지, 독일어 단어인지 알 수 있습니까? _fußgesteuerte Schleife_)가 여기에 적합한 방법입니다. – simbabque

+0

(상단 및 하단 테스트 루프라고합니다.) 최상위 테스트 루프는 이미 첫 번째 행을 읽었으므로 두 번째 행부터 효과적으로 시작됩니다. – ikegami

관련 문제