首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-05-15 
大部分是“所影响的行数为 1 行”,中间有一部分是“所影响的行数为 2 行”SQL codedeclare @待赋值编号 intdec

大部分是“所影响的行数为 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 

热点排行