T-SQL 無引數的儲存過程的建立和執行
阿新 • • 發佈:2018-12-01
1 use StudentManager 2 go 3 if exists(select * from sysobjects where name='usp_ScoreQuery') 4 drop procedure usp_ScoreQuery 5 go 6 create procedure usp_ScoreQuery --建立儲存過程 7 as 8 --查詢考試資訊 9 select Students.StudentId,StudentName,ClassName, 10 ScoreSum=(CSharp+SQLServerDB) fromStudents 11 inner join StudentClass on StudentClass.ClassId=Students.ClassId 12 inner join ScoreList on Students.StudentId=ScoreList.StudentId 13 order by ScoreSum DESC 14 --統計分析考試資訊 15 select StudentClass.ClassId,C#Avg=avg(CSharp),DBAvg=avg(SQLServerDB) into #scoreTemp 16 fromStudentClass 17 inner join Students on StudentClass.ClassId=Students.ClassId 18 inner join ScoreList on ScoreList.StudentId=Students.StudentId 19 group by StudentClass.ClassId order by ClassId 20 select ClassName,C#Avg,DBAvg from #scoreTemp 21 inner join StudentClass on StudentClass.ClassId=#scoreTemp.ClassId 22 go 23 exec usp_ScoreQuery --呼叫儲存過程
這裡的 into #scoreTemp 是把查詢的資料放入到臨時表中