SQL 游标问题!请教!!

发布于 2021-11-11 11:03:36 字数 963 浏览 865 评论 1

17. 使用游标修改数据。

(1)  打开stu  cursor游标。

(2)  将姓马的男同学的出生日期的年份加1。

(3)  关闭stu  cursor。

use studentsdb
go

declare @date datetime, @name char(8), @sex char(2)
declare stu_c cursor
scroll
for
select 姓名, 性别, 出生日期 from student_info

open stu_c
fetch next from stu_c
into @name, @sex, @date

while @@fetch_status = 0
begin
 if @name like '叶%' and @sex = '男'
 begin
  update student_info
  set 出生日期 = dateadd(year, 1, 出生日期)
  where @name like '叶%' and @sex = '男'
 end
 fetch next from stu_c
 into @name, @sex,  @date
end

close stu_c
deallocate stu_c

select * from student_info

上面的语句结果是修改了所有的数据,请赐教!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

南冥有猫 2021-11-13 23:33:25

自己解决了哈哈

use studentsdb
go

declare @date datetime, @name char(8), @sex char(2)
declare stu_c cursor
scroll
for
select 姓名, 性别, 出生日期 from student_info

open stu_c
fetch next from stu_c
into @name, @sex, @date

while @@fetch_status = 0
begin
 if @name like '叶%' and @sex = '男'
 begin
  update student_info
  set 出生日期 = dateadd(year, 1, 出生日期)
  where 姓名 = @name 
 end
 fetch next from stu_c
 into @name, @sex,  @date
end

close stu_c
deallocate stu_c

select * from student_info

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文