历史版本15 :SQL脚本 返回文檔
編輯時間:
內容長度:图片数:目录数:
修改原因:
目錄:
1. 概述编辑
[helpvideo]5453[/helpvideo]
1.1 版本
| FineDataLink 版本 | 功能变动 |
|---|---|
| 1.0 | - |
| 4.1.3 | 脚本配置Tab下,数据源是 MySQL、Oracle、SQLServer 时,可调用存储过程 |
1.2 应用场景
当用户需要对数据库中的数据进行处理时,例如创建、更新、删除、读取、汇总这样的操作,此可以通过「SQL脚本」节点实现。

1.3 功能简介
1)可通过 SQL 语句对数据进行处理。
选择数据源类型和数据连接后,写 SQL 语句对数据进行处理即可。需注意的是:

2)数据源是 MySQL、Oracle、SQLServer 时,可调用存储过程。详情请参见:定时任务调用数据库存储过程
2. 示例编辑
在本示例中,我们在数据开发中使用「SQL脚本」节点创建两张表,插入数据并将其中一张表的数据汇总处理后存到另一张表里去。
2.1 创建数据库表
1)新建定时任务。
2)拖入「SQL脚本」节点,如下图设置,SQL 语句的作用是创建两个表 order1 和 order2 ,且它们有相同的字段 ID 和 inventory 。

SQL 语句为:
CREATE table if not exists order1
(
ID int,
inventory int
);
create table if not exists order2
(
ID int,
inventory int
);
3)点击「节点信息」Tab,节点名称修改为「创建数据库表」。如下图所示:

2.2 表中插入数据
1)再拖入一个「SQL脚本」节点,如下图设置,SQL 语句的作用是将 9 条数据插入到表 order1 中去。

SQL 语句为:
insert into
order1 (id, inventory)
values
(1, 20);
insert into
order1 (id, inventory)
values
(1, 21);
insert into
order1 (id, inventory)
values
(1, 22);
insert into
order1 (id, inventory)
values
(2, 23);
insert into
order1 (id, inventory)
values
(2, 24);
insert into
order1 (id, inventory)
values
(2, 25);
insert into
order1 (id, inventory)
values
(3, 26);
insert into
order1 (id, inventory)
values
(3, 27);
insert into
order1 (id, inventory)
values
(3, 28);
2)点击「节点信息」Tab,节点名称修改为「order1插入数据」。如下图所示:

2.3 数据汇总
1)再拖入一个「SQL脚本」节点,如下图设置,SQL 语句的作用是将 order1 的数据分类汇总后插入到 order2 中。

SQL 语句为:
insert into order2
select ID,sum(inventory) from order1 group by ID
2)点击「节点信息」Tab,节点名称修改为「汇总插入order2」。如下图所示:

2.4 运行任务
点击「保存并运行」按钮,运行成功后,日志如下图所示:

运行成功后,可以看到数据库中多了两张表:
order1:

order2:

3. 节点支持的SQL语法编辑
注:「SQL 脚本」节点暂不支持 MERGE 语句。
| 类型 | 语法 | 作用 |
|---|---|---|
| 数据处理 | insert | 插入数据 |
| delete | 删除数据 | |
| update | 修改数据 | |
| select | 查询数据 | |
| 数据库表操作 | create table | 创建数据库表 |
| drop table | 删除数据库表 |

