ORACLE创建复杂的且带参数的视图
有时候我们的sql很复杂,而且中间有参数,这些参数也不太好单独的提取出来,就不太好创建视图了,那么我们就可以通过下面的方法来创建
1:创建 p_view_resourceid
代码如下
create or replace package p_view_resourceid is
--参数一
function set_resourceid(resourceid varchar2) return varchar2;
function get_resourceid return varchar2;
end p_view_resourceid;
2:创建这个包的body
代码如下
create or replace package body p_view_resourceid is
paramValue varchar2(14);
-- Param
function set_resourceid(resourceid varchar2) return varchar2 is
begin
paramValue:=resourceid;
return resourceid;
end;
function get_resourceid return varchar2 is
begin
return paramValue;
end;
end p_view_resourceid;
解释下上面两步的作用
首先是我们创建了一个参数,这个参数是varchar2类型,并且定义了两个方法,其中一个是设置值(set_resourceid),另一个是得到值(get_resourceid)
然后是对这两个方法具体操作,如指定了这个参数的大小,注意第二步,varchar2的大小必须指定
3:创建视图
如下面的代码示例
Create View view_equsetype As (select t.results_id as eq_order_id,t.results_name as eq_order_name from BASIS_RESULTS t where t.results_type=p_view_resourceid.get_resourceid()) With Check option
上面的代码只是简单的代码示例
4:查询
select * from view_equsetype where p_view_resourceid.set_resourceid('JS201708170000')='JS201708170000';
通过上面的方法我们就可以创建复杂的带参数的视图了。
爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情