金蝶云星空反写规则表结构同步另一个数据库

文章目录

  • 金蝶云星空反写规则表结构同步另一个数据库
    • 在BOS找到《反写规则》的表
    • 反写规则相关表
    • 创建反写规则,或者已经创建好的反写规则
    • 定位反写规则数据
    • 导出表数据
    • 执行脚本
      • BOS导入
      • 数据库直接执行

金蝶云星空反写规则表结构同步另一个数据库

在BOS找到《反写规则》的表

金蝶云星空反写规则表结构同步另一个数据库_第1张图片

反写规则相关表

主表:T_BF_WRITEBACKRULE
多语言表:T_BF_WRITEBACKRULE_L

创建反写规则,或者已经创建好的反写规则

金蝶云星空反写规则表结构同步另一个数据库_第2张图片
金蝶云星空反写规则表结构同步另一个数据库_第3张图片

定位反写规则数据

通过反写规则的名字在多语言表找到反写规则的唯一标识,两个表的通过唯一标识关联。

SELECT * FROM dbo.T_BF_WRITEBACKRULE WHERE FID='f899a3be-be66-45ce-b9af-0078e3fa77bf'
SELECT * FROM dbo.T_BF_WRITEBACKRULE_L WHERE  FID='f899a3be-be66-45ce-b9af-0078e3fa77bf'
--FNAME='售后单变更单【保存】反写售后单的变更状态'

导出表数据

金蝶云星空反写规则表结构同步另一个数据库_第4张图片
两个表都执行以上操作。

同时也会导出xml脚本。
金蝶云星空反写规则表结构同步另一个数据库_第5张图片

执行脚本

两种方式:BOS导入或者数据库执行执行,选择一个就可以了。

BOS导入

金蝶云星空反写规则表结构同步另一个数据库_第6张图片
金蝶云星空反写规则表结构同步另一个数据库_第7张图片

数据库直接执行

/****** 插入主表 ******/
DELETE T_BF_WRITEBACKRULE WHERE FID='f899a3be-be66-45ce-b9af-0078e3fa77bf';
INSERT INTO T_BF_WRITEBACKRULE(FID,FMODELTYPEID,FSUBSYSID,FMODELTYPESUBID,FVERSION,FISTEMPLATE,FKERNELXML,FBASEOBJECTID,FDEVTYPE,FSUPPLIERNAME,FPASSWORD,FINHERITPATH,FMODIFIERID,FMODIFYDATE,FCOMPUTERINFO,FSOURCEFORMID,FTARGETFORMID,FAUTOFITFREEFLOW,FPACKAGEID,FAUTOFITALLFLOWS,FSYSSTATUS,FMAINVERSION) VALUES ('f899a3be-be66-45ce-b9af-0078e3fa77bf',780,null,0,'638351193584503556',null,null,' ',0,'XXXX',null,N' ',102069,{ts'2023-11-09  09:35:59'},'efe6cd0f-95d5-4a44-bb3b-0a11c690664a(MAC:efe6cd0f-95d5-4a44-bb3b-0a11c690664a)>GATE:127.0.0.1;efe6cd0f-95d5-4a44-bb3b-0a11c690664a','XXXX_AS_AfterOrder','XXXX_AS_AfterOrderBG','1',null,'1','0','638351193584503556') ;

/****** 插入多语言表 ******/
DELETE T_BF_WRITEBACKRULE_L WHERE FID='f899a3be-be66-45ce-b9af-0078e3fa77bf';
INSERT INTO T_BF_WRITEBACKRULE_L(FPKID,FID,FLOCALEID,FNAME,FKERNELXMLLANG,FDESCRIPTION) VALUES ('6928A260-17DA-41E5-A782-E0496931CBED','f899a3be-be66-45ce-b9af-0078e3fa77bf',2052,N'售后单变更单【保存】反写售后单的变更状态',null,N' ') ;

--执行XML的更新,查询被同步的数据库名的表数据,然后执行更新
UPDATE T_BF_WRITEBACKRULE SET T_BF_WRITEBACKRULE.FKERNELXML=t.FKERNELXML FROM 
(
	SELECT FID,FKERNELXML FROM 被同步的数据库名.dbo.T_BF_WRITEBACKRULE 
	WHERE  FID ='f899a3be-be66-45ce-b9af-0078e3fa77bf'
	--多个 IN ('aa4e35a0-9d37-4158-8697-4aee6fdc40b5','f899a3be-be66-45ce-b9af-0078e3fa77bf')
) t
WHERE t.fid=T_BF_WRITEBACKRULE.fid;

如果 XML执行更新有障碍,或者是云服务器未开外网,那就 数据库脚本直接执行,xml文件可以通过bos导入。

你可能感兴趣的:(工作笔记,金蝶云星空,数据库,数据库,经验分享,笔记,sqlserver)