分类

链接

2012 年 7 月
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

近期文章

热门标签

新人福利,免费薅羊毛

现在位置:    首页 > SQL Server > 正文
共享办公室出租
向表中一列插入1-100的连续数
SQL Server 暂无评论 阅读(3,334)

求助:向表中一列插入1-100的连续数

table A 中有BH字段(INT),怎么连续给BH赋值1-100,象下面的一样

BH 
------------------------------------------------
1
2
.
.
.
100

根据常规的方法,我们会想到使用While来实现以上的功能。如,一朋友所写的这样:

CREATE TABLE TestTable(BH INT)
GO
SET NOCOUNT ON
GO
DECLARE @MyCounter INT

SET @MyCounter = 1
WHILE (@MyCounter < 101)
BEGIN
INSERT INTO TestTable VALUES

(@MyCounter
)

SET @MyCounter = @MyCounter + 1
END
GO
SET NOCOUNT OFF
GO
select * from TestTable
--drop table TestTable

我看一下,突然想到一个使用变量的方法来实现,如下:

--建一个200行数据的测试表#Temp
DECLARE @i int
CREATE TABLE #Temp ([id] int, C1 nvarchar(20),BH int)
SET @i=1
WHILE @i<=200
BEGIN
INSERT INTO #Temp SELECT @i,CAST(@i+rand() as nvarchar(20)),null
SET @i=@i+1
END
SELECT * FROM #Temp
--更新字段BH,更新行数为前100
SET @i=0
UPDATE #Temp SET @i=@i+1 ,BH=@i WHERE [id] IN(SELECT TOP 100 [id] FROM #Temp)
SELECT * FROM #Temp
DROP TABLE #Temp

============ 欢迎各位老板打赏~ ===========

本文版权归Bruce's Blog所有,转载引用请完整注明以下信息:
本文作者:Bruce
本文地址:向表中一列插入1-100的连续数 | Bruce's Blog

发表评论

留言无头像?