sql >> Database teknologi >  >> RDS >> Oracle

Brug værdien af ​​en strengvariabel i SQL FOR-IN (SELECT) loop

Forudsat Oracles PL/SQL, kan du åbne en REFCURSOR ved hjælp af dynamisk streng og kald den i en 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. Tablix:Gentag overskriftsrækker på hver side, der ikke virker - Report Builder 3.0

  2. Symfony output af data i datogrupperede tabeller

  3. Indsæt i en tabelbase på sammenføjningsresultat fra 2 andre borde

  4. ORA-12514 TNS:listener kender i øjeblikket ikke til den service, der er anmodet om i forbindelsesbeskrivelsen