9.4.2 创建存储过程
存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。由于存储过程是事先优化编译好的SQL语句,所以执行效率高,在企业级项目中存储过程应用非常广泛。下面我们就来介绍一下使用ADO.NET调用存储过程和各种类型的参数的方法。
首先,我们为 Forum 数据库建立一个存储过程。
1. 打开IDE的服务器资源管理器并连接到我们的 Forum 数据库。
2. 右键单击“存储过程节点”并选择“添加新存储过程”。
3. 系统给我们建立一个存储过程的模板。
4. 把这个存储过程修改成如下。
ALTER PROCEDURE CreateBoard
@ClassName varchar(50),
@BoardName varchar(50),
@ClassID varchar(50) output
AS
declare @BoardCount int;
Set @ClassID = ( Select ClassID from tbClass where ClassName=@ClassName );
Insert into tbBoard (BoardName,BoardClassID) values (@Boardname,@ClassID);
Set @BoardCount = ( Select count(*) from tbBoard );
return @BoardCount;
@ClassName varchar(50),
@BoardName varchar(50),
@ClassID varchar(50) output
AS
declare @BoardCount int;
Set @ClassID = ( Select ClassID from tbClass where ClassName=@ClassName );
Insert into tbBoard (BoardName,BoardClassID) values (@Boardname,@ClassID);
Set @BoardCount = ( Select count(*) from tbBoard );
return @BoardCount;
1. 首先存储过程通过输入参数 @ClassName 的值查询出这个分类名对应的 ClassID 并赋值给输出参数 @ClassID。
2. 然后向 tbBoard插入一条记录,版块名为输入参数@BoardName,该版块所属的分类的 ClassID就是前面查询出的 @ClassID。
3. 最后查询@BoardCount的记录总数,并且赋值给我们声明的@BoardCount用于返回。