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

tên bảng động trong câu lệnh chọn

bạn có thể sử dụng con trỏ tham chiếu nhưng tôi không khuyên bạn nên dùng nó. nó sẽ như thế này

create table tab_01 as select 1 a , 10 b from dual;
create table tab_02 as select 2 a , 20 b from dual;
create table tab_03 as select 3 a , 30 b from dual;

create or replace function get_all_history
return sys_refcursor
as
   r sys_refcursor;
   stmt varchar2(32000);
   cursor c_tables is
           select  table_name
           from    user_tables
           where   table_name like 'TAB_%';
begin
   for x in c_tables loop
           stmt := stmt || ' select * from ' || x.table_name ||' union all';
   end loop;
   stmt := substr(stmt , 1 , length(stmt) - length('union all'));
   open r for stmt;
   return r;
end;
/

SQL> select get_all_history() from dual;

GET_ALL_HISTORY()
--------------------
CURSOR STATEMENT : 1

CURSOR STATEMENT : 1

         A          B
---------- ----------
         1         10
         2         20
         3         30


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để xóa trình kích hoạt trong oracle có chứa ký tự đặc biệt?

  2. Cách xử lý Kiểu dữ liệu Clob trong Excel từ Truy vấn SQL

  3. Chèn mảng byte [] dưới dạng đốm màu trong Cơ sở dữ liệu Oracle nhận ORA-01460:yêu cầu chuyển đổi chưa thực hiện hoặc không hợp lý

  4. Oracle Tạo bảng AS và nhận xét bảng và nhận xét cột

  5. Các giá trị được phân tách bằng dấu phẩy trong Oracle