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

Tự động tra cứu tên cột cho một bảng trong khi truy vấn sql

PL / SQL này nên làm điều đó:

declare
    l_cols long;
    l_sql  long;
begin
    for r in (select column_name from all_tab_columns
              where  table_name = 'TABLEA'
              and    owner = 'SCHEMA1'
             )
    loop
       l_cols := l_cols || ',' || r.column_name;
    end loop;

    -- Remove leading comma
    l_cols := substr(l_cols, 2);

    l_sql := 'insert into schema1.tableA (' || l_cols || ') select ' 
             || l_cols || ' from schema2.tableA';

    execute immediate l_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. Tối ưu hóa truy vấn SELECT chạy chậm trên Oracle chạy nhanh trên SQL Server

  2. Làm cách nào để cập nhật một cột từ một bảng lồng nhau trong pl / sql?

  3. PL / SQL:lỗi số hoặc giá trị:bộ đệm chuỗi ký tự quá nhỏ% ROWTYPE

  4. Làm cách nào để khắc phục nguyên nhân gây ra ngoại lệ Hibernate IllegalArgumentException xảy ra khi gọi setter?

  5. Chuyển đổi truy vấn SQL sang sử dụng toán tử bộ