use DB_TeachingMS
go
createprocedure CourseClassQuery02 @CourseClassIDchar(10)asselect TS.StuID,StuName,CommonScore,MiddleScore,LastScore,TotalScore
from TB_Student TS,TB_Grade TG
where TS.StuID=TG.StuID and CourseClassID=@CourseClassID#执行exec CourseClassQuery02 'T080040401'
USE DB_TeachingMS
GO
CREATEPROCEDURE AutoGetStuID @ClassIDCHAR(6),@NewStuIDCHAR(8)
OUTPUT
AS--定义变量--DECLARE@MaxStuIDCHAR(8),@CharTwoStuIDCHAR(2),@IntTwoStuIDINT--获取班级中已有学生中最大学号--SET@MaxStuID=(SELECTMAX(StuID)FROM TB_Student
WHERE ClassID=@ClassID)--SELECT @MaxStuIDIF@MaxStuIDISNULLSET@NewStuID=@ClassID+'01'ELSEBEGIN--从最大学号中获取班级编码和最后两位流水号--SET@CharTwoStuId= SUBSTRING(@MaxStuID,7,2)--SELECT @CharTwoStuID--最后两位流水号转换为数值型,然后加1,再转换成字符型--SET@IntTwoStuID=CONVERT(INT,@CharTwoStuID)+1--SELECT @IntTwoStuIDSET@CharTwoStuID=CONVERT(CHAR,@IntTwoStuID)--SELECT @CharTwoStuID--如果转换成字符型的流水号是位,则在它前面添加字符'0'--IFLEN(@CharTwoStuID)=1SET@CharTwoStuID='0'+@CharTwoStuID--将班级编码与获取的新流水号相连接,得到新学号--SET@NewStuID=@ClassID+@CharTwoStuIDENDDECLARE@GetedStuIDCHAR(8)EXEC AutoGetStuID '040801',@GetedStuID OUTPUT
SELECT@GetedStuIDAS NewStuID