本帖最后由 hessen 于 2015-2-12 12:32 编辑
通过代理服务每月定时自动填报库存结余表
首先创建自动填报的SQL,下面的示例为填写一笔主表和其对应的明细表,将下面的语句在快表数据字典中或直接在数据库中执行。
- CREATE PROCEDURE [dbo].[AUTOREPORT_STORE]
- AS
- --声明变量
- DECLARE @sql VARCHAR(8000),@sid VARCHAR(50)
- BEGIN
- --给变量赋值生成一个ID,用于插入主表的ID和对应明细表的ID
- SET @sid = NEWID()
- --插入主表数据的语句,赋值给变量
- SET @sql = 'INSERT INTO [dbo].[T_243] ([ID],[CUID],[CDID],[CUNAME],[CDATE],[EUID],[EUNAME],[EDATE],[WFID],[REPORTLOCK],[REPORTEDIT],[F_2049],[F_2050],[F_2051])
- SELECT ''' + @sid + ''',''0e6c2110-37a6-40e0-8fd9-a82edad11bae'',''91c8f637-37a4-4117-992a-d5c425418cd8'',''超级管理员'',GETDATE(),NULL,NULL,NULL,'''',NULL,NULL,GETDATE(),GETDATE(),
- COUNT( T_52.F_393) FROM T_52 WHERE [T_52].[F_1076] = ''在库'''
- --执行上面的语句将数据插入主表
- EXEC (@sql)
- --将插入明细表数据的语句重新赋值给变量
- SET @sql = ' Insert into T_244(ID,F_2052,F_2053) SELECT ''' + @sid + ''',T_52.F_393 ,COUNT( T_52.F_393 ) FROM T_52 WHERE 1=1 AND [T_52].[F_1076] = ''在库'' GROUP BY [T_52].[F_393]'
- --执行上面的语句将数据插入明细表
- EXEC(@sql)
- END
复制代码 接下来创建一个让代理任务执行上面语句的SQL,将下面语句复制到记事本,保存为后缀为.SQL的文件,放在快表安装目录中,并设置好快表代理任务自动执行。设置方法见快表安装目录快表代理使用说明- EXEC [dbo].[AUTOREPORT_STORE]
复制代码 |
|
hessen