Sql 如何通过函数创建oracle视图

Sql 如何通过函数创建oracle视图,sql,oracle,Sql,Oracle,如何按函数创建oracle视图 1.首先创建一个类型“p_type” 2.将表格“p_表格”创建为“p_类型” 3.具有“p_表”管道的函数 create or replace type p_type as object ( v_name varchar(400), d_date date, i_val number ); create or replace type p_table as table of p_type; create or replace fun

如何按函数创建oracle视图
1.首先创建一个类型“p_type”
2.将表格“p_表格”创建为“p_类型”
3.具有“p_表”管道的函数

create or replace type p_type as object (
    v_name varchar(400),
    d_date date,
    i_val number 
);

create or replace type p_table as table of p_type;

create or replace function get_info return p_table pipelined 
is
    c number;
begin
    c := 1;
    /*
        A is table and it has only one 'a' attribute
    */
    for i in (select * from A) loop
        pipe row( p_type(
                    v_name => SUBSTR(i.A, 1, 10),
                    d_date => sysdate,
                    i_val  => c
            ) );
        c := c + 1;
    end loop;
    return;
end;


CREATE VIEW vw_info AS 
    select * from table(get_info);

这里有问题吗?问题是什么?我可能还建议使用更有意义的变量/表名。您的代码在12.1.0.2 Enterprise Edition上对我有效。您是否遇到错误或意外行为?我认为这只是一个共享的知识:)这里有问题吗?问题是什么?我可能还建议使用更有意义的变量/表名。您的代码在12.1.0.2 Enterprise Edition上对我有效。您是否遇到错误或意外行为?我认为这只是一个共享知识:)