游标使用问题!
晚辈
初学游标的使用,不知道下面代码有何问题,而不能执行!
求助给为大侠!
__________________________________________________________________________________________
学生信息表:
学号|专业校内码|部门代码
__________________________________________________________________________________________
问题是这样:我需要取专业代码的前两位数字作为部门代码.
就是用SUBSTRING(专业代码,1,2)的结果来UPDATE部门代码!
如:
40312058|1102|NULL
执行我写的存储过程之后记录变成
40312058|1102|11
__________________________________________________________________________________________
我编写的代码如下:
DECLARE stu_did CURSOR FOR SELECT 学号, SUBSTRING(专业校内码, 1, 2)
AS 学院代码
FROM 学生信息表
ORDER BY 学号
OPEN stu_did
FETCH NEXT FROM stu_did
WHILE (@@FETCH_STATUS = 0)
BEGIN
UPDATE 学生信息表 SET 部门代码 = stu_did.学院代码
WHERE 学号 = stu_did.学号
FETCH NEXT FROM stu_did
END
CLOSE stu_did
DEALLOCATE stu_did
__________________________________________________________________________________________
运行时出现这样的错误:
列前缀stu_did与查询中所用的表名或别名不匹配!
__________________________________________________________________________________________
请各位大侠帮忙啊!!!