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

Използвайте стойността на низова променлива в SQL FOR-IN (SELECT) цикъл

Ако приемем PL/SQL на Oracle, можете да отворите REFCURSOR използвайки динамичен низ и го извикайте в LOOP..

PROCEDURE run(p_boolean BOOLEAN)
IS
BEGIN
  DECLARE
    v_mystring VARCHAR(50);
    v_my_ref_cursor sys_refcursor;
  BEGIN
    IF p_boolean = TRUE
    THEN
      v_mystring := 'SELECT something...';
    ELSE
      v_mystring := 'SELECT something else...';
    END IF;

    OPEN v_my_ref_cursor FOR v_mystring;

    LOOP
      FETCH v_my_ref_cursor INTO your_variables/record
      EXIT WHEN v_my_ref_cursor%NOTFOUND;
        ..

    END LOOP;
    CLOSE v_my_ref_cursor;

  END;
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. ORA-00942:таблица или изглед не съществува с Spring JDBC шаблон в Spring Boot

  2. Разделен низ с регулярен израз на Oracle от последно срещане

  3. Разбор на голям XML файл с PL/SQL

  4. Индекси, базирани на функции на Oracle

  5. самостоятелно присъединяване срещу вътрешно присъединяване