谁能帮我看看这SQL语句为什么出错了?或者怎么编写才有效?
如图,我的题目是将姓马的同学的出生日期的年份加1,必须使用游标stu_cursor,游标的新建程序如下:DECLAREstu_cursorCURSORGLOBALSCRO...
如图,我的题目是将姓马的同学的出生日期的年份加1 ,必须使用游标stu_cursor ,游标的新建程序如下:
DECLARE stu_cursor CURSOR
GLOBAL SCROLL
FOR
SELECT * FROM student_info WHERE 性别='男'
说明:表中含有的列:学号 姓名 性别 出生日期
图片在此。 展开
DECLARE stu_cursor CURSOR
GLOBAL SCROLL
FOR
SELECT * FROM student_info WHERE 性别='男'
说明:表中含有的列:学号 姓名 性别 出生日期
图片在此。 展开
2个回答
展开全部
DECLARE @stu_no VARCHAR, @stu_name VARCHAR
DECLARE stu_cursor CURSOR for SELECT 学号, 姓名 from student_info
OPEN stu_cursor
FETCH stu_cursor INTO @stu_no, @stu_name
WHILE @@FETCH_STATUS = 0
BEGIN
IF @stu_name LIKE '马%'
BEGIN
UPDATE student_info SET 出生日期=DATEADD(yyyy, 1, 出生日期) WHERE 学号=@stu_no
END
FETCH NEXT FROM stu_cursor INTO @stu_no, @stu_name
END
大概意思是这样,你试下
DECLARE stu_cursor CURSOR for SELECT 学号, 姓名 from student_info
OPEN stu_cursor
FETCH stu_cursor INTO @stu_no, @stu_name
WHILE @@FETCH_STATUS = 0
BEGIN
IF @stu_name LIKE '马%'
BEGIN
UPDATE student_info SET 出生日期=DATEADD(yyyy, 1, 出生日期) WHERE 学号=@stu_no
END
FETCH NEXT FROM stu_cursor INTO @stu_no, @stu_name
END
大概意思是这样,你试下
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询