一般来说当在应用程序中使用SQL实现起来比较麻烦时,或者业务逻辑复杂使用SQL效率较低时,可以使用存储过程给个SQL Server的简单例子:
CREATE PROCEDURE dbo.usp_test
AS
select * from YourTable
CREATE PROCEDURE dbo.usp_test
AS
select * from YourTable
解决方案 »
- 三层架构~
- 求教关于网页重定向,
- asp.net 生成伪静态html页面并生成真正的html文件,如何实现?
- 看程序有分
- 推荐大家瞧瞧 http://12530.gmcc.net/web3/main.jsp 里边的漂浮广告,有点特殊
- DataGrid行高的控制?
- 公司服务器运行一天就死机,有谁知道服务器管理的,请进,已经被它折磨一个月了,报应用程序日志错误(无法从系统读取磁盘性能信息.......
- 急求解决方案
- webservice1刚新建就出这样的问题了~~~高手看看吧!!!!
- 有按钮控件时必须有FORM控件吗,有FORM时必须有按钮吗?
- 请问怎样让datagrid在打印时自动分页打印?????
- DataGrid的显示问题
2.可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。
3.存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL 语句快。
4.当进行数据统计或涉及到比较大的数据查询时,建议用存储过程,效率较高。
存储过程的例子:用于添加一个账号
CREATE Procedure AddAccount
(
@LoginName varchar(30),
@TrueName varchar(30),
@md5 varchar(40),
@Dept int,
@Desc varchar(50),
@retval int output
)
As
insert into 帐号表 (登录名,姓名,密码,所属部门,描述) values(@LoginName,@TrueName,@md5,@Dept,@Desc)
select @retval = @@IDENTITY
GO
这时候如果用存储过程,那么把准备好的信息全部发给SQLSERVER服务器就好了。如果不用存储过程,那么SQL SERVER客户端要做的事就多了:
启动事务
插入第一条记录。
返回那条记录的信息。
根据信息插入其他记录。
提交事务..那样多麻烦..~~
1.因为是预编译的,所以执行效率高;2.因为可以封装一系列的sql语句,所以可简化一系列复杂语句;3.如果是Asp.net的网页制作者,必须懂得一些基本的存储过程的编写,还要懂得如果使用参数,因为这是对网站分层构建的基础.如前面说的,"要多看sql server的联机文档";