Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

चयन कथन में गतिशील तालिका का नाम

आप रेफ कर्सर का उपयोग कर सकते हैं लेकिन मैं इसकी अनुशंसा नहीं करता। यह इस तरह जाता है

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. ओरेकल में माता-पिता (किसी भी स्तर) का सबसे अधिक चाइल्ड नोड खोजें

  2. जावा - JDBC निष्पादन अद्यतन () काम नहीं कर रहा

  3. मैं दो Oracle डेटाबेस को कैसे सिंक्रनाइज़ करूं?

  4. Oracle ADF को टैब करते समय सभी पंक्तियों पर सत्यापन चल रहा है

  5. Oracle से डेटा का तेजी से चयन कैसे करें