ASP.Net学习之常用SQL存储过程(1)

在ASP.Net项目中使用存储过程,首先可以提高数据库的安全性,其次可以提高运行SQL代码运行的速度,在大型项目中一般是必不可少的。Visual Studio.Net为SQL的存储过程提供了强大的支持,您既可以通过visual studio.net来新建存储过程,也可以直接在Sql Server的查询分析器中运行,还可以通过企业管理器创建,使用起来也非常方便。大家一直都误认为SQL存储过程是一个比较“高深”的技术,其实掌握一般的语法是没有什么大问题的,而我们在使用存储教程中也主要是增删减的操作,学会使用一般的T-SQL就很容易上手了。
我们先来看一下在Sql-server中是如何创建一个存储过程的吧,我们可以使用SQL命令语句创建,也可以通过SQL server中的企业管理器来创建,但其实都是离不开自己写语句的,当然系统存储过程我们就不用去动它了(存储过程分为系统存储过程 ,本地存储过程,临时存储过程,远程存储过程,扩展存储过程),而本地存儲過程就是我們自己編寫的存储过程,其实也叫用户存储过程。

当创建存储过程时需要确定存储过程的三个组成部分
所有的输入参数以及传给调用者的输出参数
被执行的针对数据库的操作语句包括调用其它存储过程的语句
返回给调用者的状态值以指明调用是成功还是失败
一、存储过程创建
1.用企业管理器来创建存储过程;
我们先打开企业管理器,找到我们要创建存储过程的数据库,如图一:





我们可以看到,在数据库里面有一个存储过程的项目,我们要用到的就是它了,选中存储过程这项,我们可以看到数据库中里面本身就有很多存储过程存在的了,不过这些都是数据库本身自带的,我们可以看到他的类型是系统(如图二),如果我们自己创建的存储过程,类型就是用户了.




在控制树的左边,我们选中存储过程后单击鼠标右键,可以看到有一个“创建存储过程的选项”





选中这项,就会出现新的窗口了,这个窗口就是用来写存储过程的了




在实际运用过程中,我们所创建的存储过程并不是想像中的这么复杂,而上面的这些参数也不是都要用上,但一般我们在用查询分析器创建存储过程前,都会通过下面这条语句来查询一下,在数据库中是否已经存在相同命名的存储过程,如果存在的话,则先删除。

If exists(select name from sysobjects where name=’存储过程名’ and type=’p’)
Drop procedure ‘存储过程名’
Go

在这里,我们也就知道了如何删除一个存储过程了,就是用drop procedure关键字 + 存储过程名.

我们先列举几个常见的存储过程:

a.    没有使用参数的存储过程
/*
用途:查询所有的公司名录
德仔创建于2006-3-29
*/
create procedure com_select
as
select * from Company
GO

b.    有参数的存储过程
/*
选择对应的admin
创建者:德仔
创建日期:2006-4-20
*/
create procedure admin_select
@adminusername char(50),
@adminpassword char(50)
as
select * from superadmin where
[Admin_Name]=@adminusername and [Admin_Password]=@adminpassword
GO


c.    在该存储过程中使用了OUTPUT 保留字有返回值的存储过程
create procedure salequa
@stor_id char 4 ,
@sum smallint output
as
select
ord_num, ord_date,
payterms, title_id,
qty
from sales
where stor_id = @stor_id
select @sum = sum qty
from sales
where stor_id = @stor_id
go


上面的几个存储过程是基本的存储过程,同时我们可以看到在存储过程中注释是用/* 注释 */形式.


我们下一次再讲讲存储过程在net中的使用吧


上一篇: 德仔工作室web技术电子期刊第六期(2006.5)
下一篇: ASP.Net学习之常用SQL存储过程(2)
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 4 | 引用: 585 | 查看次数: 39895
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 30 字 | UBB代码 关闭 | [img]标签 关闭