Skip to content

10.10.6 存储过程

前言

Workfine支持在表单保存删除时或手动触发执行指定存储过程,主要用于处理一些复杂数据运算

本文以MSSQL为例,简单实现一个通过存储过程实现操作日志的功能流程,方便用户快速入门

创建存储过程

1、打开Microsoft SQL Server Management Studio(以下简称ssms),登录帐套所在数据库实例

img

2、在Workfine帐套所属的数据库下执行以下脚本,用于创建存储日志信息的数据表

sql
CREATE TABLE [dbo].[modify_log](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [data] [varchar](200) NULL,
    [datetime] [datetime] NULL,
    CONSTRAINT [PK_modify_log] PRIMARY KEY CLUSTERED ( [id] ASC )
    WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

3、在Workfine帐套所属的数据库下执行以下脚本,用于创建一个存储过程

该存储过程可以接收一个data参数,并且将这个值写入到日志数据表中

sql
CREATE PROCEDURE save_modify_log
@data varchar(200)
AS
BEGIN
    insert into modify_log([data],[datetime])
    values(@data,getdate())
END

4、新建一个模板

img

5、如图定义一个字段,用于填写日志数据内容

img

6、点击工具栏“更多”=>“存储过程”

img

7、新建一个存储过程,按图示填写相关信息

这样Workfine将会在每次保存这个表单时,调用“save_modify_log”这个存储过程,并且将日志内容这个字段数据传递给data参数

img

8、在应用端新建单据,并尝试多次编辑保存单据进行测试

最后在ssms中执行select * from modify_log,即可看到存储过程在日志表内生成的内容

img