注意:使用代码前,请做好备份,以防数据丢失。
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
文章评论