Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Gunakan for loop setelah With Clause di PL/SQL

Anda tidak dapat mengakses CTE di luar seluruh pernyataan. Dan Anda tidak dapat mengakses bagian individual dari CTE di luar SELECT akhir untuk CTE.

Anda harus meletakkan keseluruhan CTE (termasuk pernyataan SELECT akhir) ke lingkaran kursor:

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. Buat pemicu untuk dimasukkan ke tabel lain

  2. mendapatkan kesalahan saat memasukkan beberapa baris di sql

  3. Permintaan ditetapkan di Manajer Bersama

  4. -bash:imp:perintah tidak ditemukan oracle

  5. Instal Oracle SQL Developer 19.1 di Mac OS dengan JDK 8