2014-02-11 2 views
0

저는 DB2에 익숙하지 않으며 DB2에서 아래의 쿼리를 작성하는 방법을 궁금해합니다. 제가 아는 아주 기본적인 질문입니다, 저는이 둘을 비교해보기를 원합니다.DB2 버전의 쿼리

DECLARE 
CURSOR CURRSOR IS 
SELECT * FROM EMPLOYEES WHERE EMPNO=100; 
BEGIN 
    FOR i IN CURRSOR 
     LOOP 
      DBMS_OUTPUT.PUT_LINE('THE NAME OF THE EMPLOYEE IS'|| i.ename); 
     END LOOP; 
EXCEPTION 
     WHEN NO_DATA_FOUND THEN 
      RAISE_APPLICATION_ERROR(-20001,'THERE IS NO EMPLOYEE WITH EMPLOYEE NUMBER 100'); 
END; 

답변

0
BEGIN 
    FOR each_record AS 
    c1 CURSOR FOR 
     SELECT * from EMPLOYEES 
    DO 
     DBMS_OUTPUT.PUT('THE NAME OF THE EMPLOYEE IS'|| ENAME); 
    END FOR; 
    EXCEPTION 
     WHEN NO_DATA_FOUND THEN 
      RAISE_APPLICATION_ERROR(-20001, 'THERE IS NO EMPLOYEE WITH EMPLOYEE NUMBER 100'); 
    END; 
+0

감사합니다, 당신은 왜 커서를 decalre하지? 또한 each_record는 키워드입니까? 필자는 DB2에 pl/sql 쿼리를 작성할 수 있다는 것을 읽었습니다. 그것은 사실입니까? – user3274103

+0

명시 적으로 커서를 선언 할 필요는 없습니다. 또한 동적 스크롤 커서를 사용해 볼 수도 있습니다. Prepared 문은 그 도움으로 실행될 수 있습니다. –

+0

PL/SQL에서도 DB2 코드를 작성할 수 있습니까? 알려주세요. – user3274103