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

Използвайте for цикъл след клаузата With в PL/SQL

Не можете да получите достъп до CTE извън цялото извлечение. И не можете да получите достъп до отделни части на CTE извън крайния SELECT за CTE.

Трябва да поставите целите CTE (включително крайния оператор SELECT) в цикълът на курсора:

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. Как да получите името на деня от дата в Oracle

  2. проблем при създаването на заглавки с помощта на spool в sqlplus

  3. Ускорете to_sql() при записване на Pandas DataFrame в база данни на Oracle с помощта на SqlAlchemy и cx_Oracle

  4. Данни от таблица(и) на Oracle за оператори INSERT с JAVA

  5. Извикване на съхранена функция (която връща масив от дефиниран от потребителя тип) в oracle през връзка към база данни