初識存儲過程(代碼)
阿新 • • 發佈:2018-04-29
datatable nts 網絡工程 use input arch 調用 clas PE
--1 create procedure GetStudentsInfo as select * from student go exec GetStudentsInfo alter procedure GetStudentsInfo as select * from student where stuSex = ‘男‘ exec GetStudentsInfo --2 /* public DataTable GetStudentsInfoByGrade(decimal mingrade, decimal maxgrade) {} */ create proc GetStudentsInfoByGrade@mingrade numeric(3,1) = 60, @maxgrade numeric(3,1) as select * from student where stuAvgrade >= @mingrade and stuAvgrade <= @maxgrade go --C#調用方法的對比:GetStudentsInfoByGrade(70,90) exec GetStudentsInfoByGrade @maxgrade = 90 go exec GetStudentsInfoByGrade 70,90 go exec GetStudentsInfoByGrade @mingrade= 80,@maxgrade = 90 go --3代輸出(out)參數 /* public void GetStuAvgradeTotalAndFemaleGradeTotal(out decimal stuTotal, out decimal stuFemaleTotal) */ --儲存過程有兩種參數類型一種是輸入參數也是默認值input另一種是輸出參數叫output create procedure GetStuAvgradeTotalAndFemaleGradeTotal @stuTotal real output, @stuFemaleTotal real outputAs select @stuTotal = sum(stuAvgrade) from student; select @stuFemaleTotal = sum(stuAvgrade) from student where stuSex = ‘女‘ go declare @total real, @femaleTotal real exec GetStuAvgradeTotalAndFemaleGradeTotal @total output, @femaleTotal output; select @total, @femaleTotal go --4修改和加密儲存過程 alter procedure GetStudentsInfo with encryption as select * from student go --5 create proc InsertStudent @stuId char(8), @stuName varchar(10), @stuSex char(2), @stuBirth smalldatetime, @stuSpeciality varchar(50), @stuAvgrade numeric(3,1), @stuDept varchar(50) as insert into student values(@stuId,@stuName,@stuSex,@stuBirth,@stuSpeciality,@stuAvgrade,@stuDept) go exec InsertStudent ‘20060214‘, ‘李剛‘,‘男‘,‘1987-07-01‘,‘網絡工程‘,85.8,‘信息工程系‘ select * from student
初識存儲過程(代碼)