dolphinscheduler 存储过程 参数传递
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
dolphinscheduler 存储过程参数传递
摘要:
1.介绍DolphinScheduler
2.存储过程概述
3.参数传递方式
a.位置参数
b.命名参数
c.参数组
4.参数传递示例
5.总结
正文:
DolphinScheduler是一个分布式调度平台,支持多种调度方式,如Cron、HTTP、Socket等。
在DolphinScheduler中,存储过程是一种重要的功能,可以实现复杂的业务逻辑。
在存储过程中,参数传递是必不可少的环节,本文将详细介绍DolphinScheduler中存储过程的参数传递方式。
1.介绍DolphinScheduler
DolphinScheduler是一个分布式调度平台,具有高可用、高性能、高灵活性的特点,支持多种调度方式,如Cron、HTTP、Socket等。
它采用Java 语言编写,具有良好的跨平台性。
2.存储过程概述
存储过程是一段预编译的SQL语句,通常用于封装复杂的业务逻辑。
在
DolphinScheduler中,存储过程可以实现任务的调度、数据处理等功能。
3.参数传递方式
在DolphinScheduler中,存储过程支持以下三种参数传递方式:
a.位置参数
位置参数是按照参数在存储过程中的顺序进行传递的。
例如,有一个存储过程`test_proc`,其定义如下:
```
CREATE PROCEDURE test_proc(IN param1 INT, OUT param2 INT) BEGIN
param2 := param1 * 2;
END;
```
调用该存储过程时,可以按照以下方式传递参数:
```
CALL test_proc(10, @param2);
```
b.命名参数
命名参数是按照参数名称进行传递的。
例如,有一个存储过程
`test_proc`,其定义如下:
```
CREATE PROCEDURE test_proc(param1 INT, param2 INT)
BEGIN
param2 := param1 * 2;
END;
```
调用该存储过程时,可以按照以下方式传递参数:
```
CALL test_proc(param1 = 10, param2 = @param2);
```
c.参数组
参数组是将多个参数作为一个整体进行传递。
例如,有一个存储过程`test_proc`,其定义如下:
```
CREATE PROCEDURE test_proc(param_group INT[])
BEGIN
FOR i IN 0..Param_COUNT(param_group) DO
SELECT param_group[i] * 2 INTO @param2[i] FROM DUAL;
END FOR;
END;
```
调用该存储过程时,可以按照以下方式传递参数:
```
CALL test_proc(param_group => (10, 20, 30));
```
4.参数传递示例
假设我们有一个任务`test_task`,其定义如下:
```
CREATE TASK test_task
ON SCHEDULE "0/5 * * * * ?"
ON COMPLETION NOTIFY "test_notify"
DO CALL test_proc(param1 => 10, param2 => @param2);
```
在这个任务中,我们使用了位置参数和命名参数两种参数传递方式。
5.总结
本文详细介绍了DolphinScheduler中存储过程的参数传递方式,包括位置参数、命名参数和参数组。
通过实际示例,帮助读者更好地理解参数传递的用法。