oracle table 函式用法

2021-04-16 04:59:59 字數 2976 閱讀 7219

pl/sql表---table()函式用法

/*pl/sql表---table()函式用法:

利用table()函式,我們可以將pl/sql返回的結果集代替table。

oracle記憶體表在查詢和報表的時候用的比較多,它的速度相對物理表要快幾十倍。

****** example:

1、table()結合陣列:

*/create or replace type t_test as object(

id integer,

rq date,

mc varchar2(60)

);create or replace type t_test_table as table of t_test;

create or replace function f_test_array(n in number default null) return t_test_table

as v_test t_test_table := t_test_table();

begin

for i in 1 .. nvl(n,100) loop

v_test.extend();

v_test(v_test.count) := t_test(i,sysdate,'mc'||i);

end loop;

return v_test;

end f_test_array;

/select * from table(f_test_array(10));

select * from the(select f_test_array(10) from dual);

/*2、table()結合pipelined函式:

*/create or replace function f_test_pipe(n in number default null) return t_test_table pipelined

as v_test t_test_table := t_test_table();

begin

for i in 1 .. nvl(n,100) loop

pipe row(t_test(i,sysdate,'mc'||i));

end loop;

return;

end f_test_pipe;

/select * from table(f_test_pipe(20));

select * from the(select f_test_pipe(20) from dual);

/*3、table()結合系統包:

*/create table test (id varchar2(20));

insert into test values('1');

commit;

explain plan for select * from test;

select * from table(dbms_xplan.display);

pl/sql表---table()函式用法

/*pl/sql表---table()函式用法:

利用table()函式,我們可以將pl/sql返回的結果集代替table。

oracle記憶體表在查詢和報表的時候用的比較多,它的速度相對物理表要快幾十倍。

****** example:

1、table()結合陣列:

*/create or replace type t_test as object(

id integer,

rq date,

mc varchar2(60)

);create or replace type t_test_table as table of t_test;

create or replace function f_test_array(n in number default null) return t_test_table

as v_test t_test_table := t_test_table();

begin

for i in 1 .. nvl(n,100) loop

v_test.extend();

v_test(v_test.count) := t_test(i,sysdate,'mc'||i);

end loop;

return v_test;

end f_test_array;

/select * from table(f_test_array(10));

select * from the(select f_test_array(10) from dual);

/*2、table()結合pipelined函式:

*/create or replace function f_test_pipe(n in number default null) return t_test_table pipelined

as v_test t_test_table := t_test_table();

begin

for i in 1 .. nvl(n,100) loop

pipe row(t_test(i,sysdate,'mc'||i));

end loop;

return;

end f_test_pipe;

/select * from table(f_test_pipe(20));

select * from the(select f_test_pipe(20) from dual);

/*3、table()結合系統包:

*/create table test (id varchar2(20));

insert into test values('1');

commit;

explain plan for select * from test;

select * from table(dbms_xplan.display);

函式的用法 CELL函式高階用法,

資料多時看的眼花繚亂,使用聚光燈功能突出顯示當前的行和列,在檢視資料時非常方便,wps是自帶該功能的。選中要設定的資料區域,在 開始 選項卡下點 條件格式 選擇 新建規則 在彈出的 新建格式規則 視窗中選擇 使用公式確定要設定格式的單元格 在 為符合此公式的值設定格式 下輸入公式 or cell r...

函式的用法 INDEXC函式的用法

1 製作小 箱 如何利用excel製作簡單的小 箱?這裡與大家分享借用index函式來實現。在單元格中輸入公式 index a2 a17,randbetween 2,counta a2 a17 公式說明 counta函式表示統計非空單元格格式 randbetween函式表示隨機生成整數 2 隔行提取...

lseek函式的用法lseek函式的用法

使用 lseek 函式可以改變檔案的 cfo include unistd.h include off t lseek int filedes,off t offset,int whence 返回值 新的偏移量 成功 1 失敗 引數 offset 的含義取決於引數 whence 1.如果 whenc...