2014-02-11 93 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