最详细准确的KETTLE调用存储过程和带有返回值的存储函数讲解

时间:2024-03-19 14:43:27

1.前言

最近用到了kettle的存储过程,看到网上写的一些说明文档,大都说的含糊其辞,不太准确,这里分析了一下kettle的源码,对其用法大致的讲解一遍。这里大致看一下kettle的组件界面,

最详细准确的KETTLE调用存储过程和带有返回值的存储函数讲解

大致基本上都能看懂,但是大多数都被kettle的翻译误人子弟,组件是调用存储过程,但是存储过程中也存在一种特殊的类型,叫做存储函数。而且kettle也是支持调用存储函数的,下面讲解一下存储过程和存储函数的大致区别:

2.存储过程和存储函数介绍

语法区别:关键字不一样,存储函数比存储过程多了两个return。

本质区别:存储函数有返回值,可以自定义函数;而存储过程没有返回值。

如果存储过程想实现有返回值的业务,我们就必须使用out类型的参数。 即便是存储过程使用了out类型的参数,其本质也不是真的有了返回值,而是在存储过程内部给out类型参数赋值,在执行完毕后,我们直接拿到输出类型参数的值。

3.kettle调用存储过程

由于存储过程本质上不存在返回值,所以 ”返回值类型“ 选项一定要为空,否则执行会报错,找不到该存储过程。

最详细准确的KETTLE调用存储过程和带有返回值的存储函数讲解

*******简单的数据叠加求和存储过程 

 最详细准确的KETTLE调用存储过程和带有返回值的存储函数讲解

4.调用存储函数 

由于存储是含有返回值的,所以要加上返回值字段名称。

最详细准确的KETTLE调用存储过程和带有返回值的存储函数讲解

5.总结 

 详细讲解以及存储函数的sql脚本请去下面的地址查看:

http://sharehoo.cn/topic/detail/439