历史版本15 :SQL脚本 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

[helpvideo]5453[/helpvideo]

1.1 版本

FineDataLink 版本功能变动
1.0-
4.1.3脚本配置Tab下,数据源是 MySQL、Oracle、SQLServer 时,可调用存储过程

1.2 应用场景

当用户需要对数据库中的数据进行处理时,例如创建、更新、删除、读取、汇总这样的操作,此可以通过「SQL脚本」节点实现。

25.png

1.3 功能简介

1)可通过 SQL 语句对数据进行处理。

选择数据源类型和数据连接后,写 SQL 语句对数据进行处理即可。需注意的是:

  • SQL 语句的语法要按照连接的数据库类型来写

  • 可以在 SQL 语句中引用 自定义的参数 或上游节点的参数赋值,进行数据库增删改,例如:注:SQL 脚本中引用参数方式详情参见:使用参数说明

1702889254370234.png

2)数据源是 MySQL、Oracle、SQLServer 时,可调用存储过程。详情请参见:定时任务调用数据库存储过程

2. 示例编辑

在本示例中,我们在数据开发中使用「SQL脚本」节点创建两张表,插入数据并将其中一张表的数据汇总处理后存到另一张表里去。

2.1 创建数据库表

1)新建定时任务。

2)拖入「SQL脚本」节点,如下图设置,SQL 语句的作用是创建两个表 order1 和 order2 ,且它们有相同的字段 ID 和 inventory 。

16.png

SQL 语句为:

CREATE table if not exists order1
(
  ID int,
  inventory int
 );
 create table if not exists order2
 (
   ID int,
   inventory int
   );

3)点击「节点信息」Tab,节点名称修改为「创建数据库表」。如下图所示:

17.png

2.2 表中插入数据

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

18.png

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插入数据」。如下图所示:

19.png

2.3 数据汇总

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

20.png

SQL 语句为:

insert into order2
select ID,sum(inventory) from order1 group by ID

2)点击节点信息Tab,节点名称修改为汇总插入order2」。如下图所示:

21.png

2.4 运行任务

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

22.png

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

order1:

1702888567653543.png

order2:

1702888606641571.png

3. 节点支持的SQL语法编辑

注:「SQL 脚本」节点暂不支持 MERGE 语句。

类型语法作用
数据处理insert
插入数据
delete删除数据
update修改数据
select查询数据
数据库表操作create table创建数据库表
drop table删除数据库表