【例】
CREATE PROCEDURE printscore @dept varchar(10) , @sno varchar(10) AS
DECLARE @s_name varchar(20) DECLARE @s_no varchar(10) DECLARE @s_grade int
print '----------------------学生成绩单------------------------' DECLARE my_cursor CURSOR READ_ONLY FOR
SELECT s.sno, s.sname, ISNULL(AVG(grade),-1) FROM s,sc WHERE sdept=@dept and s.sno>=@sno and s.sno=sc.sno group by s.sno,s.sname open my_cursor
FETCH NEXT FROM my_cursor INTO @s_no, @s_name, @s_grade WHILE (@@FETCH_STATUS=0) BEGIN
PRINT '学号:'+@s_no PRINT '姓名:'+@s_name PRINT '成绩等级:' IF @s_grade<0
PRINT '尚有未考科目'
IF @s_grade<60 AND @s_grade>=0 PRINT '不及格' IF @s_grade>90 PRINT '优秀'
IF @s_grade<=90 AND @s_grade>=60 PRINT '通过'
FETCH NEXT FROM my_cursor INTO @s_no,@s_name,@s_grade END
CLOSE my_cursor DEALLOCATE my_cursor RETURN GO