PAGE2 / NUMPAGES14
Informatica PowerCenter调用存储过程
平台说明
Informatica ETL(5)
软硬件配置
Informatica版本
Informatica PowerCenter 9.6.1 64位
服务器操作系统
Win Server2008
硬件配置
内存:16G、CPU: 处理器Intel(R) Xeon(R) CPU E7- 2830 @ 2.13GHz,1994 Mhz,2 个内核,2 个逻辑处理器
资料库对应数据库
Oracle Database 11g Enterprise Edition Release .0 - 64bit
资料库对应数据库字符集
NLS_CHARACTERSET:ZHS16GBK
服务器安装配置
版本:
Informatica 9.6.1
安装路径
D:\Informatica\9.6.1\services
域名:
Domain_GZ-ETL01
控制台访问地址:
35:6008/administrator/
BI数据库()
软硬件配置
服务器操作系统
硬件配置
资料库对应数据库
Oracle Database 11g Enterprise Edition Release .0 - 64bit
资料库对应数据库字符集
NLS_CHARACTERSET:ZHS16GBK
工具
Pl/sql 505
实现过程
本次示例使用组织部门层级无级树展开为横向层级关系,使用非连结存储过程调用。步骤:
存储过程由组织部门层级无级树DW_DIM_DEPARTMENT表读出,调用定义递归函数GET_LONGDEPT、GET_LONGDEPT_CODE写入到横向展开临时表DW_DIM_DEPARTMENT_TEMP;
再将展开临时表DW_DIM_DEPARTMENT_TEMP的层级更新到DW_DIM_DEPARTMENT表;
于PowerCenter中当DW_DIM_DEPARTMENT由源表BD_DEPTDOC全表更新后,再调用SP_DW_DIM_DEPT_LONGDEPT实现;
BI数据库创建存储过程
在目标数据库中创建并调试完成所需使用的存储过程,。存储过程:SP_DW_DIM_DEPT_LONGDEPT为例,结果如下:
SP_DW_DIM_DEPT_LONGDEPT:
CREATE OR REPLACE PROCEDURE SP_DW_DIM_DEPT_LONGDEPT IS
BEGIN
--************************************************************************************************************
--名称: SP_DW_DIM_DEPT_LONGDEPT
--功能: 将部门表组织层次无级转换为一行显示,部门名称、部门编码
--作者: soutton
--创建日期: 2015-12-31
--调度描述: 暂无调度, 提供给INFOMATICA的mapping:m_DW_DIM_DEPARTMENT调用
--最后修改人: soutton
--最后修改日期: 2016-04-19
--修改内容: 增加取展开的部门编码
--************************************************************************************************************
DELETE DW_DIM_DEPARTMENT_TEMP;
INSERT INTO DW_DIM_DEPARTMENT_TEMP
(PK_DEPTDOC, LONGDEPT, LONGDEPTCODE)
SELECT T.PK_DEPTDOC, GET_LONGDEPT(PK_DEPTDOC), GET_LONGDEPT_CODE(PK_DEPTDOC)
FROM DW_DIM_DEPARTMENT T;
UPDATE DW_DIM_DEPARTMENT T
SET LONGDEPT =
(SELECT L.LONGDEPT FROM DW_DIM_DEPARTMENT_TEMP L WHERE L.PK_DEPTDOC = T.PK_DEPTDOC) || '>',
LONGDEPTCODE =