历史版本21 :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 语句对数据进行处理即可。需注意的是:

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

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

1702889254370234.png

 注:上游节点生成参数时,如果已添加闭包符,则引用参数时无需再加引号  

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:

1702888567653543.png

order2:

1702888606641571.png

2.5 发布任务

运行成功后,点击发布,使任务进入生产模式。如下图所示:

注:可以在生产模式下进行任务调度

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

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

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