Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Użyj pętli for po klauzuli With w PL/SQL

Nie możesz uzyskać dostępu do CTE poza całym zestawieniem. I nie masz dostępu do poszczególnych części CTE poza końcowym SELECT dla CTE.

Musisz umieścić całość CTE (łącznie z końcową instrukcją SELECT) do pętla kursora:

FOR R IN (WITH TMP1 AS (.....), 
               TMP2 AS (......), 
               TMP3 AS (......)
          SELECT DISTINCT ..... 
          FROM TMP1 
             JOIN temp2 ON ... 
             JOIN temp3 ON ... 
          WHERE .....)
LOOP
   -- here goes the code that processes each row of the query
END LOOP;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Biała księga statystyczna CBO

  2. Zmień identyfikator Oracle JDBC Thin Client

  3. Jak utworzyć użytkownika w Oracle Multitenant 12c bez prefiksu C##?

  4. Jak mogę wyodrębnić pliki z pola Oracle BLOB?

  5. Operator MINUS w wyroczni