sql >> Databáze >  >> RDS >> Oracle

Použijte smyčku for po klauzuli With v PL/SQL

Nemůžete přistupovat k CTE mimo celý výpis. A nemůžete přistupovat k jednotlivým částem CTE mimo konečný SELECT pro CTE.

Musíte vložit celek CTE (včetně závěrečného příkazu SELECT) do smyčka kurzoru:

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. Cloud Migration 101:Přesun ze serveru SQL Server do Azure

  2. Jak vytvořit globální konfigurační soubor?

  3. Nahraďte název tabulky proměnnou. Použití pythonu a mysql konektoru

  4. Jak vytvořit úlohu, když job_action potřebuje volat proceduru s parametrem CLOB