1. 程式人生 > >初識存儲過程(代碼)

初識存儲過程(代碼)

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 output
As 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

初識存儲過程(代碼)