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

Trục động trong sql oracle - Thủ tục

Nếu bạn có một bảng mà bạn muốn chèn kết quả tổng hợp mỗi khi bạn gọi Stored Proc, bạn có thể sử dụng bảng này:

CREATE OR REPLACE PROCEDURE dynamic_pivot
AS
  v_sql LONG       := NULL;
  v_statement LONG := NULL;
BEGIN
  SELECT DISTINCT LISTAGG(''''
    || myLetter
    || ''' AS '
    || myLetter,',') WITHIN GROUP (
  ORDER BY myLetter) AS temp_in_statement
  INTO v_statement
  FROM
    (SELECT DISTINCT myLetter FROM test_data
    );
  v_sql := 'insert into pivot_table    
      select * from (SELECT myNumber, myLetter, myValue FROM test_data    
      )    
      PIVOT    
      (      
      SUM(myValue) AS val FOR myLetter IN (' || v_statement || ')    
      )';
  EXECUTE immediate v_sql;
END;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ví dụ về Oracle FOR LOOP REVERSE

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

  3. Quá trình nâng cấp từng bước lên R12.2 Nâng cấp phần -3

  4. Ngoại lệ ORA-08103:đối tượng không còn tồn tại khi sử dụng setfetchsize của Hibernate

  5. Làm thế nào để kiểm tra phiên bản JDK trong Oracle?