Oracle
 sql >> база данни >  >> RDS >> Oracle

Функции с таблична стойност в ORACLE 11g ? (параметризирани изгледи)

Няма нужда от SYS_CONTEXT или дефиниции на курсора. Нуждаете се от тип, така че, когато SQL се анализира, да може да определи кои колони ще бъдат върнати. Това каза, че можете лесно да напишете скрипт, който ще генерира дефиниции на тип и колекция за една или повече таблици въз основа на данните в user_tab_columns.

Най-близкото е

create table my_table
(prodid number, a varchar2(1), b varchar2(1), 
  c varchar2(1), d varchar2(1), e varchar2(1));

create type my_tab_type is object
(prodid number, a varchar2(1), b varchar2(1), 
  c varchar2(1), d varchar2(1), e varchar2(1))
.
/

create type my_tab_type_coll is table of my_tab_type;
/

create or replace function get_some_data (p_val in number) 
return my_tab_type_coll pipelined is
begin
  FOR i in (select * from my_table where prodid=p_val) loop
    pipe row(my_tab_type(i.prodid,i.a,i.b,i.c,i.d,i.e));
  end loop;
  return;
end;
/

SELECT * FROM table(get_Some_Data(3));


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle Data Mining (ODM) – Инсталиране и настройка

  2. ADDM на SearchOracle.com

  3. как да направя пул на връзки в java?

  4. В oracle, как да променя сесията си да показва UTF8?

  5. Изваждане на дати в Oracle - числови или интервални тип данни?