批量建立带有索引的同样表结构的表

declare @ii int   
set @ii = 0 
while @ii <= 50
	begin  
	declare @strSql varchar(500)  ,@str varchar(500)  ,@strIndexSql varchar(500)  
	
	set @str = @ii
	set @strSql = 'create table dbo.test_'+ @str + '(logGid uniqueidentifier NOT NULL,
					user_gid uniqueidentifier NOT NULL,
					create_time datetime NOT NULL,
					data_version nvarchar(64) NOT NULL,
					rule_id varchar(64) NOT NULL,
					rule_value decimal(30, 4) NOT NULL,
					rule_v nvarchar(1024) NULL,
					remark nvarchar(1024) NULL,
					IDCardNO varchar(32) NOT NULL DEFAULT ('''+ '''),
					share_type tinyint NOT NULL DEFAULT (0),
					channel varchar(32) NOT NULL DEFAULT ('''+'''))'  
	execute(@strSql)  
	set @strIndexSql = '
		CREATE UNIQUE NONCLUSTERED INDEX ix_test_'+@str +'_usergid_ruleid ON dbo.test_'+@str +'
		(
			user_gid ASC,
			rule_id ASC 
		) '
		execute(@strIndexSql)  

		set @strIndexSql = '
		CREATE NONCLUSTERED INDEX ix_test_'+@str +'_create_time ON dbo.test_'+@str +'
		(
			create_time ASC 
		) '
		execute(@strIndexSql)  
		Set @ii = @ii+1  
end  

  

猜你喜欢

转载自gwh-08.iteye.com/blog/2397477
今日推荐