Heim > Datenbank > MySQL-Tutorial > Hauptteil

Oracle 中函数如何返回结果集

WBOY
Freigeben: 2016-06-07 16:08:58
Original
1423 Leute haben es durchsucht

在Oracle中,用函数返回结果集有时候要用到,下面是demo:

在Oracle中,用函数返回结果集有时候要用到,,下面是demo:

create or replace type t_test as object
(
  id integer,
  create_time date,
  object_name varchar2(60)
);
create or replace type t_test_table as table of t_test;

1.用数组的方式
create or replace function f_test(n in number default null)
  return t_test_table as
  v_test t_test_table  := t_test_table();
begin
  for i in 1 .. n loop
    v_test.extend();
    v_test(v_test.count) := t_test(i, sysdate, 'name' || i);
  end loop;
  return v_test;
end f_test;
/

SQL> select * from table(f_test(5));
        ID CREATE_TIME    OBJECT_NAME
  -------- -------------- -------------
        1 07-4月 -15    name1
        2 07-4月 -15    name2
        3 07-4月 -15    name3
        4 07-4月 -15    name4
        5 07-4月 -15    name5

2.用管道函数
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, 'name' || i));
  end loop;
  return;
end f_test_pipe;
/


SQL> select * from table(f_test_pipe(5));
        ID CREATE_TIME    OBJECT_NAME
---------- -------------- ----------------
        1 07-4月 -15    mc1
        2 07-4月 -15    mc2
        3 07-4月 -15    mc3
        4 07-4月 -15    mc4
        5 07-4月 -15    mc5

本文永久更新链接地址

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!