怎样生成测试数据

billpu 2005-04-09 04:30:08
有两个问题请教一下
谢谢
1 table A格式如下

id(int),name(nvarchar30),inputdate

想测试一下 大约表中记录为1万条左右时的运行效果,想请教一下 如果插入1万条数据 用什么语句可以完成

2 table B 格式如下
id(int) cardno(varchar10)
id为自增长,想用语句自动生成3万个记录,要求是让cardno字段全是大写英文,并且cardno并不重复

不知道怎么生成
...全文
100 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
talantlee 2005-04-09
  • 打赏
  • 举报
回复
create table a(
id int,name nvarchar(30),inputdate datetime)

-------------代碼--------------
declare @a varchar(50)
set @a=1
while (@a<10000)----這裡修改
begin
insert into a values(@a,@a+'name',getdate())
set @a=@a+1
end
--select count(*) from a
---drop table a
zjcxc 2005-04-09
  • 打赏
  • 举报
回复
--1 table B生成3万条记录

create table B(id int identity,cardno nvarchar(10))
insert B(cardno) select top 30000
char(65+cast(rand(checksum(newid()))*26 as int)%26)+
char(65+cast(rand(checksum(newid()))*26 as int)%26)+
char(65+cast(rand(checksum(newid()))*26 as int)%26)+
char(65+cast(rand(checksum(newid()))*26 as int)%26)+
char(65+cast(rand(checksum(newid()))*26 as int)%26)+
char(65+cast(rand(checksum(newid()))*26 as int)%26)+
char(65+cast(rand(checksum(newid()))*26 as int)%26)+
char(65+cast(rand(checksum(newid()))*26 as int)%26)+
char(65+cast(rand(checksum(newid()))*26 as int)%26)+
char(65+cast(rand(checksum(newid()))*26 as int)%26)
from syscolumns a,syscolumns b
select * from B
select count(*) from B
drop table B
zjcxc 2005-04-09
  • 打赏
  • 举报
回复
--1 table A生成1万条记录

create table A(id int identity,name nvarchar(30),inputdate datetime)
insert A(name,inputdate) select top 10000
right(replace(cast(newid() as varchar(36)),'-',''),30),
dateadd(day,-rand(checksum(newid()))*100,getdate())
from syscolumns a,syscolumns b
select * from A
--select count(*) from A
--drop table A
talantlee 2005-04-09
  • 打赏
  • 举报
回复
定義一個變量 加個循環就是了...

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧