一般来说当在应用程序中使用SQL实现起来比较麻烦时,或者业务逻辑复杂使用SQL效率较低时,可以使用存储过程给个SQL Server的简单例子:
CREATE PROCEDURE dbo.usp_test
AS
    select * from YourTable

解决方案 »

  1.   

    具体的还是看看相关的书籍或是help文档
      

  2.   

    可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点: 1.可以在单个存储过程中执行一系列SQL 语句。
    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
      

  3.   

    如果你的IIS和DB在2台机器上,那就应该写存储过程来分担压力,如果都在一台机器上而你还不大愿意写就算了吧
      

  4.   

    最经常见的时,要往数据库插入多条不同表的记录。
    这时候如果用存储过程,那么把准备好的信息全部发给SQLSERVER服务器就好了。如果不用存储过程,那么SQL SERVER客户端要做的事就多了:
    启动事务
    插入第一条记录。
    返回那条记录的信息。
    根据信息插入其他记录。
    提交事务..那样多麻烦..~~
      

  5.   

    总结起来:
    1.因为是预编译的,所以执行效率高;2.因为可以封装一系列的sql语句,所以可简化一系列复杂语句;3.如果是Asp.net的网页制作者,必须懂得一些基本的存储过程的编写,还要懂得如果使用参数,因为这是对网站分层构建的基础.如前面说的,"要多看sql server的联机文档";
      

  6.   

    存储过程的执行效率很高的,例如,在用crystal report时,可以将一些report中无法处理的复杂问题,在存储过程中处理。