zoukankan      html  css  js  c++  java
  • 金蝶KIS&K3助记码SQL数据库批量刷新

    金蝶KIS&K3助记码SQL数据库批量刷新

    用的次数不多,就没有写入存储过程或者触发里面了,可以自行实现。

    第一步选择对应账套的数据库,执行下面的命令,这个是一个函数。

    go 
    if exists (select * from sysobjects where name='fun_getPY' and xtype='Fn') 
    begin 
    drop function fun_getPY 
    end 
    go 
    create function fun_getPY(@str nvarchar(4000)) 
    returns nvarchar(4000) 
    as 
    begin 
    declare @word nchar(1),@PY nvarchar(4000) 
    set @PY='' 
    while len(@str)>0 
    begin 
    set @word=left(@str,1) 
    --如果非汉字字符,返回原字符 
    set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901 
    then (select top 1 PY from ( 
    select 'A' as PY,N'' as word 
    union all select 'B',N'簿' 
    union all select 'C',N'' 
    union all select 'D',N'' 
    union all select 'E',N'' 
    union all select 'F',N'' 
    union all select 'G',N'' 
    union all select 'H',N'' 
    union all select 'J',N'' 
    union all select 'K',N'' 
    union all select 'L',N'' 
    union all select 'M',N'' 
    union all select 'N',N'' 
    union all select 'O',N'' 
    union all select 'P',N'' 
    union all select 'Q',N'' 
    union all select 'R',N'' 
    union all select 'S',N'' 
    union all select 'T',N'' 
    union all select 'W',N'' 
    union all select 'X',N'' 
    union all select 'Y',N'' 
    union all select 'Z',N'' 
    ) T 
    where word>=@word collate Chinese_PRC_CS_AS_KS_WS 
    order by PY ASC) else @word end) 
    set @str=right(@str,len(@str)-1) 
    end 
    return @PY 
    end 
    go 
    
    --物料
    update     t_ICItemCore set FHelpcode=dbo.fun_getPY(left(Fname,30)) 
    go

    第二步,更新你需要的地方,物料、部门、职员、仓库、供应商、客户等的助记码

    有些表格的字段需要自己做对应,下面的更新不能应用于所有版本,如执行错误,请自行调试,谢谢

    --物料
    update     t_ICItemCore set FHelpcode=dbo.fun_getPY(left(Fname,30)) 
    go
    
    
    --部门
    update     t_Department set FHelpcode=dbo.fun_getPY(left(Fname,30)) 
    go
    
    
    --职员
    update      t_Emp  set FHelpcode=dbo.fun_getPY(left(Fname,30)) 
    go
    
    
    --仓库
    update      t_Stock  set FHelpcode=dbo.fun_getPY(left(Fname,30)) 
    go
    
    --供应商
    update       t_Supplier  set FHelpcode=dbo.fun_getPY(left(Fname,30)) 
    go
    
        
    
    --客户
    update       t_Organization set FHelpcode=dbo.fun_getPY(left(Fname,30)) 
    go
  • 相关阅读:
    解决跨域问题的后端解决方案
    java-反射
    验证接口实现类对于接口中所有方法是否都要重写?
    完成Triangle时遇到的问题
    刚知道的一种算法
    完成ATM编程练习题时遇到的问题
    完成Account编程练习遇到的问题
    完成StopWatch编程练习题时遇到的一些问题
    Window环境下Java备份和恢复Mysql数据
    IDEA导入项目不下载依赖问题
  • 原文地址:https://www.cnblogs.com/landv/p/9212266.html
Copyright © 2011-2022 走看看