读书人

大部分是“所影响的行数为 1 行”中

发布时间: 2012-05-15 14:35:29 作者: rapoo

大部分是“所影响的行数为 1 行”,中间有一部分是“所影响的行数为 2 行”

SQL code
declare @待赋值编号 intdeclare @待赋值字符串编号 char(10)declare @查询出的姓名 char (10)set @待赋值编号 = 0while @待赋值编号 <= 999begin    set @待赋值编号 = @待赋值编号 + 1    set @待赋值字符串编号 = @待赋值编号    select top 1 @查询出的姓名 = 姓名 from 男生    where 编号 is null    update 男生    set 编号 = @待赋值字符串编号    where 姓名 = @查询出的姓名endgo


男生这个表有1000行。三个列:编号、姓名、性别。姓名和性别都是赋值好的,编号全都是null。
把999改成300的话最后一个消息就是“所影响的行数为 2 行”,然后显示几次这个之后再次显示“所影响的行数为 1 行”

另外中文变量名影响效率么?

[解决办法]
SQL code
--估你表里有2名字相同的,不建用姓名匹配Update--建加ID做主,自生成增整型,可用做字段--再把你的那段Update面的姓名改的IDALTER TABLE A ADD ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY 

读书人网 >SQL Server

热点推荐