您的位置:首页 > 数据库

SQL存储过程基本语法和实例(总结)

2012-03-13 10:26 751 查看
1 不带参数的存储过程

1.1 创建


create procedure SelectFamleTeacher
as
begin
select * from TeacherBasicInformation where TeacherGender = '女'
end
go

1.2 执行

exec SelectFamleTeacher


2 带参数的存储过程(输入参数)

2.1 创建


create procedure SelectByGender
@sex varchar(5)
as
begin
select * from TeacherBasicInformation where TeacherGender = @sex
end
go


2.2 执行



exec SelectByGender @sex = '男'



3 带参数的存储过程(输出参数)之一

3.1 创建


create proc SelectByGenderWithOutput
@count int output
as
begin
select @count = count(*) from TeacherBasicInformation where TeacherGender = '女'
end
go

3.2 执行



declare @count int
exec SelectByGenderWithOutput @count output
print @count


4 带参数的存储过程(输出参数)之二

4.1 创建


create proc SelectByGenderWithOutput2
@count int output
as
begin
declare @boycount int,@girlcount int
select @boycount = count(*) from TeacherBasicInformation where TeacherGender = '男'
select @girlcount = count(*) from TeacherBasicInformation where TeacherGender = '女'
select @count = abs(@boycount - @girlcount)
end
go

4.2 执行

declare @count int
exec SelectByGenderWithOutput2 @count output
print @count

5 对存储过程进行修改(也可以选中需要修改的存储过程,右击"修改")

ALTER procedure SelectFamleTeacher

as
begin
select * from TeacherBasicInformation where TeacherGender = '男'
end

存数过程使用实例

原理

下面的CmdObj.是定义的SqlCommand对象

1、获得存储过程中return语句返回的整个存储过程函数的返回值:

//获得存储过程return的值,定义一个参数,指明其作用是接受return的值

CmdObj.Parameters.Add("RETURN_VALUE", SqlDbType.Int).Direction =ParameterDirection.ReturnValue;

通过获取该参数的方式最终获得return返回的值

int reValue = int.Parse(CmdObj.Parameters["RETURN_VALUE"].Value.ToString());

2、获得存储过程输出参数的值:

定义sql的参数,指定类型是输出

CmdObj.Parameters.Add("@outValue", SqlDbType.VarChar).Direction =ParameterDirection.Output;

获得输出参数的值

string outValue = CmdObj.Parameters["@outValue"].Value.ToString();

总结

关键地方就是指明参数的Direction 属性,使用ParameterDirection来指定,可以指定4种类型,

输入,

输出,

既是输入又是输出,

接受return
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: