Oracle
 sql >> база данни >  >> RDS >> Oracle

PL/SQL FOR LOOP НЕЯВЕН КУРСОР

Не използвате INTO с неявен курсор:

    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. SQL за игнориране на редове, които имат определено свойство от обединена таблица

  2. RobotFramework :cx_Oracle - FAIL :InternalError:Няма Oracle грешка?

  3. simpleJdbcCall извикване на Pl/SQL процедура -- ORA-22922 несъществуваща LOB стойност

  4. PLS-00172:твърде дълъг низов литерал се генерира грешка, докато се задава голяма стойност на низ на CLOB

  5. Пример за задействане на Oracle преди вмъкване ИЛИ актуализиране