使用存储过程一般目的是:
(1). 加载数据之前检查目标数据库的状态
(2). 确定数据库是否有足够的空间
(3). 完成特定计算
(4). 删除或重建索引
Unconnected Stored Procedure transformation调用方法
(1). From an expression. Called from an expression written in the Expression Editor within another transformation in the mapping.
(2). Pre- or post-session. Runs before or after a session.
通过表达式调用存储过程
获取输出值时,两种方式:
(1). 将输出值赋给本地变量
(2). 将输出值赋给系统变量PROC_RESULT
PROC_RESULT使用方法:
只能在expression中使用,例如
:SP.GET_NAME_FROM_ID(inID, varOUTPUT1, PROC_RESULT)
varOUTPUT1变量用于存储第一个out参数值,PROC_RESULT变量用于存储第二个out参数值,并且此表达式的值就等于PROC_RESULT值。
调用Pre- or Post-Session的存储过程
(1)选择存储过程类型:
Source Pre-load. 常用于确认表的存在或者对临时表的数据进行join
Source Post-load. 常用于删除临时表
Target Pre-load. 常用于确认目标系统的磁盘空间和目标表
Target Post-load. 常用于重建索引
(2)有必要的话,选择存储过程的Execution Order