您的位置:首页 > 数据库

SqlServer批量生成数据的方法

2008-06-10 08:57 288 查看
DECLARE @i SMALLINT
SET @i = 1
WHILE (@i <=10000)
BEGIN
INSERT INTO prvflat_stuinfo_part(stuid,identitycard,stuname,stucode,sex,region)
VALUES(newid(),'330727198209193511','ckj'+'@i',@i,'1','5105')
SET @i = @i + 1
END
GO

在SQL Server中使用32全球唯一码(GUID)可用newid来获取。

insert into [User](id,name,sex,password)values(newid(),'xp','1','1234')

其中id数据列要求是36位char型或Uniqueidentifier 型
以下内容来自SQL Server联机帮助

可以包含对 GUID 数据类型的引用,该数据类型用于存储全局唯一标识符。在更新查询和插入源查询中可以调用 newid( ) 函数,以生成新的 GUID 存储在数据库内。

创建选择查询时,允许对 GUID 类型列执行的唯一操作是基于等于(= 和 <>)的比较。

下面是另一种复杂的方法

DECLARE @i BIGINT
DECLARE @max BIGINT
DECLARE @flatsign char(6)
SET @i = 1
SET @flatsign = '5101'
SET @max = 50000

WHILE (@i <=@max)
BEGIN
insert into prvflat_stuinfo
(stuid ,schid,identitycard,stuname,unitivecode,sex,birthday,flatsign)
values(newid(),newid(),
convert(varchar(6),'330727')+convert(varchar(4),@flatsign)+convert(varchar(8),REPLICATE('0',8 - len(RTRIM(LTRIM(@i)))))+convert(varchar(8),@i),
'chenkejun'+CONVERT( CHAR(9), @i ),convert(varchar(8),
REPLICATE('0',8 - len(RTRIM(LTRIM(@i)))))+convert(varchar(8),@i),
'M','2008-08-08',@flatsign)
SET @i = @i + 1
END
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: