金蝶KIS专业版自定义核算项目助记码丢失解决代码

注意:使用代码前,请做好备份,以防数据丢失。

Declare @TSql varchar(8000)
Declare T_ItemClass cursor for Select DISTINCT FItemClassID
from t_Item Where FItemClassID>9
Declare @FItemClassID int
open T_ItemClass
fetch next  from T_ItemClass into
@FItemClassID
while @@FETCH_STATUS=0 
 begin
  Set @TSql=’if exists (select * from
dbo.sysobjects where id = object_id(N”[dbo].[t_item_’ +
Cast(@FItemClassID as varchar) + ‘]”) and OBJECTPROPERTY(id,
N”IsUserTable”) = 1)
  drop table [dbo].[t_item_’
 + Cast(@FItemClassID as varchar)
 + ‘]’
  Exec (@TSql)
  –Print @TSql

  Set @TSql=’CREATE TABLE [dbo].[t_item_’ +
Cast(@FItemClassID as varchar) + ‘] (
[FitemID] [int] NOT NULL ,
[FHelpCode] [varchar] (30) COLLATE Chinese_PRC_CI_AS
NULL 
) ON [PRIMARY] ‘ 
   Exec (@TSql)
   –Print @TSql

   Set @TSql=’ALTER TABLE
[dbo].[t_item_’+ Cast(@FItemClassID as varchar) +’] WITH NOCHECK
ADD 
PRIMARY KEY
 CLUSTERED 
(
[FitemID]
)  ON [PRIMARY]’ 
  Exec (@TSql)
  –Print @TSql

  Set @TSql=’insert t_item_’+
Cast(@FItemClassID as varchar) + ‘ Select FitemID,”” as FHelpCode
From t_Item Where FItemClassID=’ + Cast(@FItemClassID as
varchar)
  Exec (@TSql)

  Set @TSql=’Update t_ItemClass Set
FSQLTableName=”t_item_’+ Cast(@FItemClassID as varchar) + ”’
 Where FItemClassID=’+ Cast(@FItemClassID as
varchar)
  Exec (@TSql)
  fetch next  from
T_ItemClass into @FItemClassID
end
close T_ItemClass
deallocate T_ItemClass
Go