壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2088|回复: 5

创建动态VIEW

[复制链接]
发表于 2007/11/7 12:14:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
很多人都应该知道 global temporary table 的用法,这里也提出一个动态VIEW的用法,在实际过程中有着很好的独特之处
具体如下:
/***************创建PACKAGE ****************/
create or replace package p_view_temp_value is
g_org_id varchar2(60);
g_product_number varchar2(60);
g_dep_id varchar2(60);
procedure set_org_id(l_orgid varchar2,l_product_number varchar2,l_dept varchar2);
function get_id  return varchar2;
function get_product  return varchar2;
function get_dep_id  return varchar2;

end p_view_temp_value;

/***************创建PACKAGE ****************/
create or replace package body p_view_temp_value Is

procedure set_org_id(l_orgid varchar2,l_product_number varchar2,l_dept varchar2) is
begin
g_org_id:=l_orgid;
g_product_number:=l_product_number;
g_dep_id:=l_dept;
end;

function get_id  return varchar2  is
v_value varchar2(60);
begin
v_value:=g_org_id;
return v_value;
end;

function get_dep_id  return varchar2  is
v_value varchar2(60);
begin
v_value:=g_dep_id;
return v_value;
end;

function get_product  return varchar2  is
v_value varchar2(60);
begin
v_value:=g_product_number;
return v_value;
end;
end p_view_temp_value;


/****************创建动态视图******************/
create or replace view view_demo
(org_id,.....)
as
select   org_id,......
from t_org_info where org_id=p_view_temp_value.get_id
;
注意此处的条件是利用PACKAGE的函数,这样可以达到条件的动态化,而且利用的PACK的特点,使这个试图的条件具有SESSION特性,

在执行此VIEW查询的时候,需要先执行 p_view_temp_value.set_org_id('001','','');

这样视图V_DEMO查询的就是   select org_id ... from t_org_info where org_id='001';
而且必须是在一个SESSION里,不同的SESSION查询出来的是不一样的,这也就说明了他的动态性,只要在不同的SESSION里就具有不同的结果集,这个特点跟GLOBAL TEMPORARY TABLE很类似
发表于 2007/11/7 14:36:58 | 显示全部楼层
称赞一下
谢谢分享
发表于 2007/11/9 14:00:42 | 显示全部楼层

aaaaaa

aaaaaaaaa
发表于 2007/11/9 14:53:02 | 显示全部楼层
不错,不错!
发表于 2007/11/10 08:33:53 | 显示全部楼层
不算吧

系统中的很多视图就用了  userenv() 函数 以及标准的fnd_global包
发表于 2007/11/10 09:29:45 | 显示全部楼层
很有用的东西
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 04:38 , Processed in 0.014770 second(s), 16 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表