金蝶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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章