SqlServer批量生成数据的方法

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值