近日写了一些vew,用到了自定义funciton,都是多表连接查询,也没有优化,留个记录以备后查;
sql 代码
-
- create or replace view report_service as
- select UPPER(trim(to_char(c.aidcategoryid, '0x')) ||
- trim(to_char(t.aidserviceid, '0xxx'))) ||
- RPAD(t.servicename, 40) || RPAD(b.id, 2) ||
- RPAD(decode(y.id, 1, 3, 2, 2, 3, 1) || l.userlevelid, 5) || '1' ||
- RPAD(' ', 12) Service
- from co2servicelist t,
- co2categorylist c,
- co2group g,
- co2brand b,
- co2grouplevel l,
- co2grouptype y
- where t.categorylistid = c.id
- and c.groupid = g.id
- and g.id = b.groupid
- and g.id = l.groupid
- and g.grouptypeid = y.id;
-
-
-
- create or replace view report_molog as
- select Rpad(t.msisdn, 14) || trim(decode(a.id, 1, 0, 3, 2, 4, 1)) ||
- Rpad(nvl(d.servicelistname, ' '), 40) ||
- trim(Rpad(to_char(t.creationdate, 'YYYY-MM-DD HH:MI:SS'), 19)) molog
- from co2transactionlog t, co2transactionlogdetail d, co2actiontype a
- where t.id = d.transactionlogid
- and d.actiontypeid = a.id
- and t.originid = 1
- and a.id in (1, 3, 4);
-
-
- create or replace view report_mtlog as
- select Rpad(t.msisdn, 14) || trim(decode(a.id, 1, 0, 3, 2, 4, 1)) || Rpad(nvl(d.servicelistname, ' '), 40) ||
- trim(Rpad(to_char(t.creationdate, 'YYYY-MM-DD HH:MI:SS'), 19)) ||
- decode(t.erroroccured, 'N', '0', 'Y', '1') mtlog
- from co2transactionlog t,
- co2transactionlogdetail d,
- co2actiontype a,
- co2origin b
- where t.id = d.transactionlogid
- and d.actiontypeid = a.id
- and t.directionid = 2
- and b.id = t.originid
- and a.id in (1, 3, 4) ;
-
-
- create or replace view REPORT_USER as
- select RPAD(t.msisdn, 14) || RPAD(b.id, 2) ||
- RPAD(decode(p.id, 1, 3, 2, 2, 3, 1) || l.userlevelid, 5) ||
- RPAD(t.imsi, 16) || RPAD(c.cardproviderid, 2) ||
- RPAD(c.protocolversionid, 3) || Rpad(c.cardbatchid, 2) ||
- RPAD(nvl(query_user_menu(c.id),' '), 500) userinfo
- from co2user t,
- co2card c,
- co2grouplevel l,
- co2group g,
- co2grouptype p,
- co2brand b
- where t.cardid = c.id
- and c.grouplevelid = l.id
- and l.groupid = g.id
- and g.id = b.groupid
- and g.grouptypeid = p.id;
-
-
- create or replace function query_user_menu(id in varchar2) return varchar2 is
- Result varchar2(500);
- c_id varchar2(500);
- a_id number;
- cursor region_cur is
- select t.servicelistid, t.profilestate, t.isopen
- from co2currentserviceprofile t
- where t.cardid = id;
- begin
-
- for my_cur in region_cur loop
- select t.aidserviceid, UPPER(trim(to_char(c.aidcategoryid, '0x')))
- into a_id, c_id
- from co2servicelist t, co2categorylist c
- where my_cur.servicelistid = t.id
- and t.categorylistid = c.id;
- if c_id is not null and a_id is not null then
- if my_cur.profilestate = 'Y' then
- a_id := a_id + 32768;
- end if;
- if my_cur.isopen = 'Y' then
- a_id := a_id + 1024;
- end if;
- a_id := a_id + 16384;
- Result := CONCAT(Result, c_id);
- Result := concat(Result, UPPER(trim(to_char(a_id, '0xxx'))));
- Result := concat(Result, '|');
- end if;
- end loop;
-
- return(Result);
- end query_user_menu;
- /
-
分享到:
相关推荐
Oracle 函数用法 Oracle 函数是Oracle数据库中的一种编程对象,它允许用户定义自己的函数,以便在SQL语句中调用。 Oracle 函数的用法可以分为以下几个方面: 函数调用限制 在 Oracle 中,函数可以在 SQL 语句中被...
### Oracle在金融行业的应用介绍 #### 一、Oracle在金融行业的背景与意义 在金融行业中,数据处理的速度和准确性对于业务决策至关重要。Oracle作为一种广泛使用的数据库管理系统,在金融领域发挥着重要作用。它...
oracle function.rar
Decrible the functions using in the Oracle, you could use them to program for PL/SQL
格式 PPT 讲义 第1章 数据库的概念 第2章 实体联系模型 ...第10章 数据库应用程序开发工具-ORACLE Developer 第11章 ORACLE J2EE高级技术与JDeveloper 第12章 ORACLE程序实例——图书管理信息系统
根据提供的信息,我们可以总结出以下有关Oracle Function在实现银行企业账对账中的应用与细节。 ### Oracle Function在银行企业账对账中的应用 #### 1. **Function Get_RevokeRecImport 的实现** 此函数用于处理...
oracle-function-执行动态sql(包括DML、DLL、DQL、DCL)
oracle实用的sqlplusw应用程序 oracle实用的sqlplusw应用程序 oracle实用的sqlplusw应用程序 oracle实用的sqlplusw应用程序 oracle实用的sqlplusw应用程序 oracle实用的sqlplusw应用程序 oracle实用的sqlplusw应用...
Oracle 数据库应用Oracle 数据库应用Oracle 数据库应用Oracle 数据库应用Oracle 数据库应用Oracle 数据库应用Oracle 数据库应用Oracle 数据库应用
"Oracle EBS 多应用节点安装手册" Oracle EBS 系统多应用节点安装手册是指在单个数据库节点和多个应用节点上安装 Oracle E-Business Suite(EBS)Release 12.1 的详细指南。本手册旨在指导用户完成 EBS 系统的安装...
这可以通过创建和应用`PASSWORD_VERIFY_FUNCTION`来实现。`PASSWORD_VERIFY_FUNCTION`允许我们自定义一个PL/SQL函数,该函数将在用户尝试更改密码时进行验证,确保新密码满足预设的复杂度规则。以下是在Oracle 11g ...
Oracle数据库系统是全球广泛使用的大型关系型数据库管理系统之一,它在企业级数据管理和应用程序开发中扮演着核心角色。本资源“Oracle数据库系统应用与开发”深入探讨了Oracle数据库的使用和开发技术,特别关注...
Oracle应用开发指南是一份权威的Oracle官方文档,它为Oracle应用的开发人员提供了详尽的开发指导和参考。这份指南不仅覆盖了Oracle应用程序的开发过程,也介绍了Oracle的技术背景和开发环境。通过这份指南,开发者...
Oracle数据库应用Oracle数据库应用Oracle数据库应用Oracle数据库应用Oracle数据库应用Oracle数据库应用Oracle数据库应用
execute immediate str_sql into tabtcn; --动态执行DDL语句
简绍oracle的内置函数,方便查看
### 基于Oracle高级队列技术实现应用程序间的通信 #### 一、引言 近年来,随着信息技术的迅速发展和广泛应用,企业的信息化建设也取得了显著的进步。为了提高工作效率和服务质量,许多企业开始重视不同部门之间的...
Oracle 11g是一款强大的关系型数据库管理系统,由甲骨文公司开发,广泛应用于企业级数据存储、管理和分析。本教程“Oracle_11G_数据库应用简明教程PPT”将带你深入理解Oracle 11g的核心概念、功能及应用。 首先,...
Oracle 11g数据库是Oracle公司推出的一款企业级关系型数据库管理系统,广泛应用于大型数据存储、数据处理和数据分析等场景。本教程旨在提供一个Oracle 11g数据库应用的简明指南,帮助初学者快速掌握数据库的基础操作...