Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Sử dụng vòng lặp for sau Mệnh đề Với trong PL / SQL

Bạn không thể truy cập CTE bên ngoài toàn bộ câu lệnh. Và bạn không thể truy cập các phần riêng lẻ của CTE ngoài phần CHỌN cuối cùng cho một CTE.

Bạn cần đặt toàn bộ CTE (bao gồm cả câu lệnh SELECT cuối cùng) thành vòng lặp con trỏ:

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. OdbcConnection trả về các ký tự Trung Quốc là?

  2. Tìm hiểu cách thực thi một thủ tục trong Toad For Oracle

  3. ORA-04084:không thể thay đổi giá trị MỚI cho loại trình kích hoạt này

  4. Có phải nhà cung cấp OraOLEDB trong .NET không đáng tin cậy trên các trường CLOB?

  5. Tự động xoay bảng Oracle