E9流程回收站相关说明

说明:E9回收站不会自动进行清理,标准产品上不提供删除回收站相应流程功能。

1、相关的表查询SQL

select * from workflow_nownode_dellog  
select * from Workflow_SubwfRequest_dellog
select * from workflow_requestbase_dellog;
select * from workflow_curroperator_dellog;
select * from workflow_requestdeletelog;
select * from workflow_requestLog_dellog;

涉及表

workflow_logviewusers_dellog 
workflow_nownode_dellog  
Workflow_SubwfRequest_dellog
workflow_requestbase_dellog;
workflow_curroperator_dellog;
workflow_requestdeletelog;
workflow_requestLog_dellog;

解决方案

1、总体目标

在Microsoft SQL Server (MSSQL)中,不支持一条DELETE​语句直接删除多个表中的数据。SQL Server的DELETE​命令只能针对单个表操作。如果要删除与某个主键值关联的所有记录,你将需要为每张表编写一个DELETE​语句。

如下:

-- 删除B表中与A表主键关联的数据
DELETE B
FROM B
INNER JOIN A ON B.ForeignKey = A.PrimaryKey;
-- 删除C表中与A表主键关联的数据
DELETE C
FROM C
INNER JOIN A ON C.ForeignKey = A.PrimaryKey;
-- 最后删除A表中的主键记录
DELETE FROM A WHERE PrimaryKey = @SomeValue;

2、实施方案

对相关表进行分析,判定每个表都是通过requestid​进行关联。

2-1、原始数据备份
2-2、数据分析
2-2-1、判定时间(超过3个月)

根据workflow_requestdeletelog​来判断删除时间,其他表关联workflow_requestdeletelog​进行删除。

SELECT *  from workflow_requestdeletelog bp 
where bp.operate_date <= DATEADD(month, -3, GETDATE());
2-2-2、关联查询

对相关表进行关联workflow_requestdeletelog​查询

SELECT * from workflow_requestdeletelog cp
where cp.request_id in(SELECT bp.request_id  from workflow_requestdeletelog bp 
where bp.operate_date <= DATEADD(month, -3, GETDATE()))
2-2-3、执行删除
delete from workflow_requestLog_dellog 
where requestid in (SELECT request_id  from workflow_requestdeletelog bp 
where bp.operate_date <= DATEADD(month, -3, GETDATE()))

3、附录

--根据requestid删除回收站指定流程
delete from workflow_requestLog_dellog where requestid=?;
delete from  workflow_requestbase_dellog where requestid=?;
delete from workflow_curroperator_dellog where requestid=?;
delete from workflow_requestdeletelog where request_id=?;
delete from workflow_logviewusers_dellog where request_id=?;
delete from workflow_nownode_dellog where request_id=?;
--清理整个回收站
delete from workflow_requestbase_dellog;
delete from workflow_curroperator_dellog;
delete from workflow_requestdeletelog;
delete from workflow_requestLog_dellog;
delete from workflow_logviewusers_dellog 
delete from workflow_nownode_dellog 

谨慎操作删除,建议操作前,进行相应的数据备份后执行

免责声明:
1.本站所有内容只做学习和交流使用。 版权归原作者所有。
2.保证站内提供的所有可下载源码资源(软件等)都是按“原样”提供,本站未做过任何改动;但本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。
3.本站部分内容均收集于网络!如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。请联系站长邮箱:admin#ibian.online(#换成@)处理!

给TA打赏
共{{data.count}}人
人已打赏
综合项

1Panel站点前后端分离并用WAF做防护的一个示例(An-example-of-1Panel-site-frontend-backend-separation-with-WAF-protection)

2025-2-20 15:01:40

综合项

宝塔面板开启Nginx fastcgi_cache缓存为WordPress提速

2025-2-21 9:31:47

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索