名称:

Call Procedure | 执行处理

图标:

Call Procedure执行处理 - 图1

功能:

执行存入数据库的一个处理

使用方式:

运行执行数据库中一段处理程序

输入:

  • <Procedure>:字符类型值的输入,单数,必须项;是预先存入数据库的一段SQL命令程序(SQL语句及操作命令)的名称
    · 需要时除了默认的<Parameter 1> <Parameter 2>参数输入项外,可以添加任意多个输入元件作为程序的参数的输入项目
    · 如果程序无参数,或参数都放于模板中则可以删除<Parameter 1> <Parameter 2>输入元件
    · 使用参数时,参数名称和类型需一致,参考案例中的两个参数@name和@comment都是字符串类型
  • <Input Parameters>:数据结构类型对象的输入,单数,非必须项;是将独立输入的参数对象放入一个数据结构中统一传参数处理
  • <Data Source>:字符类型值的输入,单数,非必须项;用来指定要执行在哪个数据库中的某个名称的SQL命令,用一个字符常量传入数据库名称,常量值是项目配置文件设定的某个数据库名称,无此输入元件则默认为对项目主数据库进行处理
  • <Auto Commit>:布尔类型值的输入,单数,非必须项;控制操作数据库处理是否为立即执行SQL命令的模式;注意这与TERSUS开发时数据库处理默认操作模式不同;如果输入为Yes,则在SQL命令执行时会立即进行数据库中值的变更处理:
    · TERSUS默认的数据库执行模式是,在同一个Service服务器端处理(包括Secured Service)中,如果全部逻辑完成无异常,数据库才会执行相关操作,如果中间中断,或部分处理后报错/中断,则全部数据退回执行前状态,也就是默认成功完成全部逻辑处理才会更新数据库值

    输出:

    可以添加任意多个输出,每一个输出对应一个SQL命令程序运行输出的结果
    · 如果输出对象对应的结果预期是复数,则输出元件应为复数
    · 输出元件的类型应与程序结果中某一个输出一致,如果输出是一组对象则应用数据结构类型来定义输出内容结构,如果是单独的值则用基本类型对应的变量作为输出对象处理(必要时拖放类型到输出元件上来定义类型)
    · 输出结果与SQL命令程序中设定的输出参数对应,输出结果元件名称也应与参数中名称一致
    · 如果输出结果是一组对象,则输出结果元件名称不需要与参数中名称一致

  • <None>:空值输出,单数,非必须项;添加输出元件后完成处理时传出空值

  • <Output Columns>:固定的数据结构的输出,复数,非必须项;这是个固定结构的对象,可以用右键单击输出元件在弹出菜单中选“Show in Respository in Explorer”,然后在目录中查看定位到的对象模板,拖入开发区与输出元件相连,并修改为复数(英文输入法下小写“r”或右键单击拖入的数据结构对象在弹出的菜单中选Repetitive复数状态),这个输出可以获取程序处理的所有字段名称和字段类型名称,可用于下一步针对输出对象和值的逻辑设计

    示例:

    案例:运行数据库程序返回一组对象

    任意一个项目的目录“Common/Templates/Database/Call Procedure/Test Insert by Stored Procedure/Test Insert by Stored Procedure – SQL Server”中:
    Call Procedure执行处理 - 图2