码迷,mamicode.com
首页 > 其他好文 > 详细

关于存储过程

时间:2018-04-29 01:16:38      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:tab   max   arch   birt   val   table   uname   uid   对比   

问题:使用存储过程有什么优缺点?什么时候使用存储过程?为什么使用存储过程?

1、存储过程有两种参数类型,输入(默认input),输出(output)

2、存储过程一个批执行——批(go)在Sql中起一个隔断作用

3、分页存储过程的使用:

  1、变量的声明

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

 

关于存储过程

标签:tab   max   arch   birt   val   table   uname   uid   对比   

原文地址:https://www.cnblogs.com/fllowerqq/p/8970008.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!