什么叫做视? 应该是视图吧?如果是视图,创建时不可以带参数的,可以这样创建; -- 视图 create or replace view vi_test as select * from test; 调用的时候: select * from vi_test;
呵呵,是视图(view)、不可以带参数吗?
不可以 你可以向ORACLE提议在下一个版本加上
1,普通视图不可以带参数的: 创建: create or replace view vi_tablename as select * from tablename; 调用: select * from vi_tablename 2,11G里面物化视图没有深入研究过,不知道可以不可以,10G里面是不行的。
不可以带参数,但你可以在条件谓词中加入在数据包package中定义的函数,然后可以在数据包中通过为函数赋不同的参数而得到不同的视图结果。create or replace package pkg_test is p_test varchar2(20);
function get_p_test(v1 varchar2) return varchar2;end;create or replace package body pkg_test isfunction get_p_test(v1 varchar2) return varchar2 is begin return(nvl(v1,'test')); end;begin p_test := 'test'; end; create or replace view v_test asselect 'jieguo' adsf from dual where 'test' = pkg_test.get_p_test('test');
应该是视图吧?如果是视图,创建时不可以带参数的,可以这样创建;
-- 视图
create or replace view vi_test as
select * from test; 调用的时候:
select * from vi_test;
你可以向ORACLE提议在下一个版本加上
1,普通视图不可以带参数的:
创建:
create or replace view vi_tablename as
select * from tablename;
调用:
select * from vi_tablename
2,11G里面物化视图没有深入研究过,不知道可以不可以,10G里面是不行的。
is p_test varchar2(20);
function get_p_test(v1 varchar2) return varchar2;end;create or replace package body pkg_test
isfunction get_p_test(v1 varchar2)
return varchar2
is
begin
return(nvl(v1,'test'));
end;begin
p_test := 'test';
end;
create or replace view v_test
asselect 'jieguo' adsf from dual where 'test' = pkg_test.get_p_test('test');