【IT168 服务器学院】
批量表结构提取和批量建表
在进行系统设计和测试时,经常需要建立多库,并且各库内容相同。一般思路是导入或者是复制表的脚本来一个一个的建表,显然这样操作费时繁琐,而且不能保证索引等信息全部都一样。本文介绍的是如何生成一个库的表结构,并通过该表结构反向生成表。
一 建立一个存储表结构的表
if exists (select * from dbo.sysobjects where id = object_id(N''[dbo].[tablestruc]'') and OBJECTPROPERTY(id, N''IsUserTable'') = 1)
drop table [dbo].[tablestruc]
GO
CREATE TABLE [dbo].[tablestruc] (
[表名] [nvarchar] (128) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[表说明] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[字段名] [nvarchar] (128) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[字段说明] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[标识] [varchar] (2) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[主键] [varchar] (2) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[类型] [nvarchar] (128) COLLATE Chinese_PRC_CI_AS NULL ,
[占用字节数] [smallint] NOT NULL ,
[允许空] [varchar] (2) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[默认值] [nvarchar] (4000) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[长度] [int] NULL ,
[小数位数] [int] NOT NULL ,
[字段序号] [smallint] NOT NULL ,
[索引] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]