DECLARE @Grade varchar(10)
DECLARE @TeachingPoint varchar(10)
DECLARE @Level varchar(10)
DECLARE @LearningFormat varchar(10)
DECLARE @Professional varchar(10)
DECLARE @Class varchar(10)
/*面是声明临时变量*/
DECLARE @TGrade varchar(10)
DECLARE @TTeachingPoint varchar(10)
DECLARE @TLevel varchar(10)
DECLARE @TLearningFormat varchar(10)
DECLARE @TProfessional varchar(10)
DECLARE @TClass varchar(10)
/*声明一个游标*/
DECLARE TempSutdents_Symbol CURSOR SCROLL
FOR SELECT Grade,TeachingPoint,[Level],LearningFormat,Professional,Class FROM TempStudents
OPEN TempSutdents_Symbol
FETCH FIRST FROM TempSutdents_Symbol INTO
@Grade,
@TeachingPoint,
@Level,
@LearningFormat,
@Professional,
@Class
WHILE( @@FETCH_STATUS = 0)
BEGIN
SELECT @TGrade=Value FROM Dictionary Where [Name]=@Grade
SELECT @TTeachingPoint=Value FROM Dictionary Where [Name]=@TeachingPoint
SELECT @TLevel=Value FROM Dictionary Where [Name]=@Level
SELECT @TLearningFormat=Value FROM Dictionary Where [Name]=@LearningFormat
SELECT @TProfessional=Value FROM Dictionary Where [Name]=@Professional
SELECT @TClass=Value FROM Dictionary Where [Name]=@Class
/*产生一个新的Number*/
UPDATE TempStudents SET Number=RTRIM(@TGrade)+RTRIM(@TTeachingPoint)+RTRIM(@TLevel)+RTRIM(@TlearningFormat)+RTRIM(@TProfessional)+RTRIM(@TClass)
WHERE CURRENT OF TempSutdents_Symbol
FETCH NEXT FROM TempSutdents_Symbol INTO
@Grade,
@TeachingPoint,
@Level,
@LearningFormat,
@Professional,
@Class
END
/*关闭游标*/
CLOSE TempSutdents_Symbol
DEALLOCATE TempSutdents_Symbol
未什么在生成新的Number后,表Number列的第一行数据为空呢?搞不懂为什么游标没有操作第一行数据
而且第二行以后都有新的数据?
谢谢帮忙解决啊,急!
DECLARE @TeachingPoint varchar(10)
DECLARE @Level varchar(10)
DECLARE @LearningFormat varchar(10)
DECLARE @Professional varchar(10)
DECLARE @Class varchar(10)
/*面是声明临时变量*/
DECLARE @TGrade varchar(10)
DECLARE @TTeachingPoint varchar(10)
DECLARE @TLevel varchar(10)
DECLARE @TLearningFormat varchar(10)
DECLARE @TProfessional varchar(10)
DECLARE @TClass varchar(10)
/*声明一个游标*/
DECLARE TempSutdents_Symbol CURSOR SCROLL
FOR SELECT Grade,TeachingPoint,[Level],LearningFormat,Professional,Class FROM TempStudents
OPEN TempSutdents_Symbol
FETCH FIRST FROM TempSutdents_Symbol INTO
@Grade,
@TeachingPoint,
@Level,
@LearningFormat,
@Professional,
@Class
WHILE( @@FETCH_STATUS = 0)
BEGIN
SELECT @TGrade=Value FROM Dictionary Where [Name]=@Grade
SELECT @TTeachingPoint=Value FROM Dictionary Where [Name]=@TeachingPoint
SELECT @TLevel=Value FROM Dictionary Where [Name]=@Level
SELECT @TLearningFormat=Value FROM Dictionary Where [Name]=@LearningFormat
SELECT @TProfessional=Value FROM Dictionary Where [Name]=@Professional
SELECT @TClass=Value FROM Dictionary Where [Name]=@Class
/*产生一个新的Number*/
UPDATE TempStudents SET Number=RTRIM(@TGrade)+RTRIM(@TTeachingPoint)+RTRIM(@TLevel)+RTRIM(@TlearningFormat)+RTRIM(@TProfessional)+RTRIM(@TClass)
WHERE CURRENT OF TempSutdents_Symbol
FETCH NEXT FROM TempSutdents_Symbol INTO
@Grade,
@TeachingPoint,
@Level,
@LearningFormat,
@Professional,
@Class
END
/*关闭游标*/
CLOSE TempSutdents_Symbol
DEALLOCATE TempSutdents_Symbol
未什么在生成新的Number后,表Number列的第一行数据为空呢?搞不懂为什么游标没有操作第一行数据
而且第二行以后都有新的数据?
谢谢帮忙解决啊,急!
DECLARE @TeachingPoint varchar(10)
DECLARE @Level varchar(10)
DECLARE @LearningFormat varchar(10)
DECLARE @Professional varchar(10)
DECLARE @Class varchar(10)
/*面是声明临时变量*/
DECLARE @TGrade varchar(10)
DECLARE @TTeachingPoint varchar(10)
DECLARE @TLevel varchar(10)
DECLARE @TLearningFormat varchar(10)
DECLARE @TProfessional varchar(10)
DECLARE @TClass varchar(10)
/*声明一个游标*/
DECLARE TempSutdents_Symbol CURSOR
FOR SELECT Grade,TeachingPoint,[Level],LearningFormat,Professional,Class FROM TempStudents
OPEN TempSutdents_Symbol
FETCH NEXT FROM TempSutdents_Symbol INTO
@Grade,
@TeachingPoint,
@Level,
@LearningFormat,
@Professional,
@Class
WHILE( @@FETCH_STATUS = 0)
BEGIN
SELECT @TGrade=Value FROM Dictionary Where [Name]=@Grade
SELECT @TTeachingPoint=Value FROM Dictionary Where [Name]=@TeachingPoint
SELECT @TLevel=Value FROM Dictionary Where [Name]=@Level
SELECT @TLearningFormat=Value FROM Dictionary Where [Name]=@LearningFormat
SELECT @TProfessional=Value FROM Dictionary Where [Name]=@Professional
SELECT @TClass=Value FROM Dictionary Where [Name]=@Class
/*产生一个新的Number*/
UPDATE TempStudents SET Number=RTRIM(@TGrade)+RTRIM(@TTeachingPoint)+RTRIM(@TLevel)+RTRIM(@TlearningFormat)+RTRIM(@TProfessional)+RTRIM(@TClass)
WHERE CURRENT OF TempSutdents_Symbol
FETCH NEXT FROM TempSutdents_Symbol INTO
@Grade,
@TeachingPoint,
@Level,
@LearningFormat,
@Professional,
@Class
END
/*关闭游标*/
CLOSE TempSutdents_Symbol
DEALLOCATE TempSutdents_Symbol
TRY
Go
我这里有的,
DECLARE TempSutdents_Symbol CURSOR SCROLL
FOR SELECT Grade,TeachingPoint,[Level],LearningFormat,Professional,Class FROM TempStudents
OPEN TempSutdents_Symbol
FETCH FIRST FROM TempSutdents_Symbol INTO
--------------------------------------------
把FETCH FIRST FROM TempSutdents_Symbol INTO 变成FETCH next FROM TempSutdents_Symbol INTO
--改成
FETCH next FROM TempSutdents_Symbol INTO就是那个first应该改成next啦 :)
WHERE CURRENT OF TempSutdents_Symbol
你这么多rtrim,有没有可能哪个变量值为null如果是这样,那你就把第一行更新为null了