Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

PL / SQL ĐỂ LOOP IMPLICIT CURSOR

Bạn không sử dụng INTO với một con trỏ ngầm:

    DECLARE
        emp_dept_id employees.department_id%TYPE;
        emp_emp_id employees.employee_id%TYPE;
        emp_last_name employees.last_name%TYPE;
        v_count number DEFAULT 0;
    BEGIN
        FOR i IN (SELECT DISTINCT department_id, department_name
            FROM departments)
        LOOP
            --v_COUNT := v_COUNT + 1;
            DBMS_OUTPUT.PUT_LINE('HELLO'||i.department_id||' '||i.department_name);
            FOR j IN (SELECT employee_id, last_name
                INTO emp_emp_id, emp_last_name
                FROM employees)
                --WHERE department_id=i.department_id)
            LOOP
                DBMS_OUTPUT.PUT_LINE(emp_emp_id||' '||emp_last_name);
                v_COUNT := v_COUNT + 1;
            END LOOP;
        END LOOP;
        DBMS_OUTPUT.PUT_LINE(v_COUNT);
    END;
    /


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trả về sys_refcursor của tiên tri cho c #

  2. Khi nào thì một câu SQL đúng sẽ mang lại một kết quả sai

  3. Phân trang kết quả truy vấn Oracle mà không có phương pháp truy cập dữ liệu TABLE FULL SCAN

  4. thay đổi trạng thái tài khoản người dùng Oracle từ EXPIRE (GRACE) thành OPEN

  5. Sự khác biệt giữa mặt nạ ngày 'yy' và 'rr' của oracle là gì?