名称:

Insert | 记录插入

图标:

Insert记录插入 - 图1

功能:

  • 数据库的库表中插入记录
  • 可参考“无代码图形化编程手册”中“数据及数据库管理”一章中的内容处理

    使用方式:

    将一条含值的数据库记录插入数据库表中

    输入:

  • <Record>:数据库表记录类型的输入,单数,必须项;输入数据库表记录,库表记录元件是一个与其他类型不同的数据类型(“Database Record”类型),当传入常量值到记录中对应的元数据变量(视为库表字段)中时,库表记录元件就成为一条有值的数据库记录的可视化对象,输入要插入的记录对象
    · 在运行时,由此输入元件传入的数据库表元件对象的“Table Name”属性值,就是此条记录数据应插入的数据库中的库表的名称,一个库中的库表名是唯一的
    · 数据库的数据库表中的字段类型与名称与无代码开发设计传入的“Database Record”数据库表元件中各子元件类型及名称是关联对应的,请参考“可视化元件手册”的“Database Record 数据库表记录”中的说明

  • <Data Source>:字符类型值的输入,单数,非必须项;用来指定记录存入哪个数据库,用一个字符常量传入数据库名称,常量值是项目配置文件设定的某个数据库名称,无此输入元件则默认为对项目主数据库进行处理
  • <Table Name>:字符类型值的输入,单数,非必须项;用来指定传入哪个数据库表,用一个字符常量传入数据库表的名称,此时会忽略<Record>输入的数据库表元件对象“Table Name”属性值对应的库表名称
  • <Auto Commit>:布尔类型值的输入,单数,非必须项;控制操作数据库处理是否为立即执行插入的模式;注意这与TERSUS开发时数据库处理默认操作模式不同;如果输入为Yes,则在插入记录执行时会立即进行数据库中值的变更处理:
    · TERSUS默认的数据库执行模式是,在同一个Service服务器端处理(包括Secured Service)中,如果全部逻辑完成无异常,数据库才会执行相关操作,如果中间中断,或部分处理后报错/中断,则全部数据退回执行前状态,也就是默认成功完成全部逻辑处理才会更新数据库值

    输出:

  • <Inserted>:数据库表记录类型的输出,单数,非必须项;是<Record>输入记录处理完成后的数据记录对象,如果插入成功则有输出,输出与<Record>输入相同的记录

  • <Duplicate>:数据库表记录类型的输出,单数,非必须项;执行处理但未在数据库中成功插入数据时输出<Record>输入的记录对象,原因是数据库表中已有同样主键值的记录,如果有主键值重复记录但没有添加此输出元件,则会在运行时报错;如果添加此输出且不做更多往下传传值处理,则在有重复插入时,自动到此停止运行,因为没有重复时向下的逻辑
    · 一个可行的处理方案是,将 输出连线传值到一个Update记录更新元件,这样当有重复记录时用新记录中非主键的其他字段值更新数据库已有的同主键记录中其他字段值
  • <Done>:空值输出,单数,非必须项;可以手动添加输出元件并用“”命名,用于确认完成处理(有可能完成处理成功更新记录,也有可能有重复记录未成功能插入当前记录)包含以上两种情形

    示例:

    示例一:插入记录到非主数据库或一个外部数据库

    任意一个项目的目录“Common/Templates/Database/Insert/Database Test1”中:
    Insert记录插入 - 图2

    示例二:插入完成Done输出用于下一步处理逻辑控制

    Insert记录插入 - 图3