刚才没有发完,下面再把问题完整发一遍:如下图,这是personDetail表中数据
我想把第三列(sex列)的数据每行都增一,即修改后每行的sex值变成13这是我写的游标的代码DECLARE pDUpdate_cursor SCROLL CURSOR--使用游标更新personDetail表中sexL列值
FOR
SELECT ID,age,sex,personName FROM personDetail
FOR UPDATE OF sex
OPEN pDUpdate_cursor
PRINT '更新前personDetail表的相关数据为:'
SELECT ID,age,sex,personName FROM personDetail
FETCH pDUpdate_cursor --取第一行数据
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE personDetail SET sex= sex+1 WHERE CURRENT OF pDUpdate_cursor
FETCH NEXT FROM pDUpdate_cursor
END
CLOSE pDUpdate_cursor
DEALLOCATE pDUpdate_cursor
PRINT '更新后personDetail表的相关记录为:'
SELECT ID,age,sex,personName FROM personDetail
代码运行后虽然数据更新成功了,但是效果图却是这样:
请问我怎样才能效果图中中间那部分去掉(就是中间那一行一行的数据),我只想查看更新前和更新后数据,请大侠帮忙
我想把第三列(sex列)的数据每行都增一,即修改后每行的sex值变成13这是我写的游标的代码DECLARE pDUpdate_cursor SCROLL CURSOR--使用游标更新personDetail表中sexL列值
FOR
SELECT ID,age,sex,personName FROM personDetail
FOR UPDATE OF sex
OPEN pDUpdate_cursor
PRINT '更新前personDetail表的相关数据为:'
SELECT ID,age,sex,personName FROM personDetail
FETCH pDUpdate_cursor --取第一行数据
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE personDetail SET sex= sex+1 WHERE CURRENT OF pDUpdate_cursor
FETCH NEXT FROM pDUpdate_cursor
END
CLOSE pDUpdate_cursor
DEALLOCATE pDUpdate_cursor
PRINT '更新后personDetail表的相关记录为:'
SELECT ID,age,sex,personName FROM personDetail
代码运行后虽然数据更新成功了,但是效果图却是这样:
请问我怎样才能效果图中中间那部分去掉(就是中间那一行一行的数据),我只想查看更新前和更新后数据,请大侠帮忙
DECLARE @ID INT,@age INT,@personName varchar(30)
DECLARE pDUpdate_cursor SCROLL CURSOR--使用游标更新personDetail表中sexL列值
FOR
SELECT ID,age,sex,personName FROM personDetail
FOR UPDATE OF sex
OPEN pDUpdate_cursor
PRINT '更新前personDetail表的相关数据为:'
SELECT ID,age,sex,personName FROM personDetail
FETCH pDUpdate_cursor INTO @ID,@Age,@PersonName --取第一行数据
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE personDetail SET sex= sex+1 WHERE CURRENT OF pDUpdate_cursor
FETCH NEXT FROM pDUpdate_cursor INTO @ID,@Age,@PersonName
END
CLOSE pDUpdate_cursor
DEALLOCATE pDUpdate_cursor
PRINT '更新后personDetail表的相关记录为:'
SELECT ID,age,sex,personName FROM personDetail
这个完全不用cursor都行啊。
UPDATE personDetail SET Sex=Sex+1
from 游标后加into 变量
即可