删除单据关联附件记录原创
金蝶云社区-亦木丶
亦木丶
2人赞赏了该文章 479次浏览 未经作者许可,禁止转载编辑于2022年01月27日 11:32:21


场景: 删除组织下所有物料的附件关联记录

如果只是删除关联记录,只删除T_BAS_Attachment表即可

--查询
SELECT *  FROM T_BAS_ATTACHMENT WHERE FFILESTORAGE = 0 AND FBILLTYPE='BD_MATERIAL' AND FINTERID IN 
(
	SELECT FMATERIALID FROM T_BD_MATERIAL WHERE FUSEORGID IN ('组织ID','组织ID')
)
--查询文件名,可以查询对应的服务器文件名,只删记录这个表可以不用删
SELECT * FROM T_BAS_THUMBNAIL WHERE FTHUMBNAILID IN
(
	SELECT FTHUMBNAILID FROM T_BAS_ATTACHMENT WHERE FFILESTORAGE = 0 AND FBILLTYPE='BD_MATERIAL' AND FINTERID IN 
	(
		SELECT FMATERIALID FROM T_BD_MATERIAL WHERE FUSEORGID IN (1,2)
	)
)
-- 备份删除记录
SELECT * INTO T_BAS_ATTACHMENT_delMatAttachFile_20220127_bak  FROM T_BAS_ATTACHMENT WHERE FFILESTORAGE = 0 AND FBILLTYPE='BD_MATERIAL' AND FINTERID IN 
(
	SELECT FMATERIALID FROM T_BD_MATERIAL WHERE FUSEORGID IN ('组织ID','组织ID')
)
-- 删除相关的关联记录
delete 
T_BAS_ATTACHMENT WHERE FFILESTORAGE = 0 AND FBILLTYPE='BD_MATERIAL' AND FINTERID IN 
(
	SELECT FMATERIALID FROM T_BD_MATERIAL WHERE FUSEORGID IN ('组织ID','组织ID')
)



赞 2