如何编写数据库存储过程?

该篇文章是我于2009年6月10日通过自己编写的工具,批量从位于在博客园的博客站点(http://chenxizhang.cnblogs.com)同步而来。文章中的图片地址仍然是链接到博客园的。特此说明!

陈希章

原文地址:http://www.cnblogs.com/chenxizhang/archive/2008/09/03/1282966.html
原文标题:如何编写数据库存储过程?
原文发表:2008/9/3 7:00:00

在程序设计的时候,出于安全、效率和扩展性方面的考虑,我们会把很多数据操作都封装为存储过程。

存储过程是已保存的 Transact-SQL 语句集合,或对 Microsoft .NET Framework 公共语言运行时 (CLR) 方法的引用,可接收并返回用户提供的参数。可以创建过程供永久使用,或在一个会话(局部临时过程)中临时使用,或在所有会话(全局临时过程)中临时使用。

启动 SQL Server 的一个实例时,也可以创建并自动运行存储过程。

存储过程现在可以利用T-SQL和托管代码两种方式编写。下面我们主要看看如何使用T-SQL语句快速地编写存储过程

我们来看一下基本语法

CREATE { PROC | PROCEDURE } [schema_name.] procedure_name [ ; number ]     [ { @parameter [ type_schema_name. ] data_type }         [ VARYING ] [ = default ] [ OUT | OUTPUT ]     ] [ ,...n ] 
[ WITH 
 
 
  
   [ 
  
  ,
  
  ...n ] ]
[ FOR REPLICATION ] 
AS { 
  
  
   
    [;][ ...
   
   n ] | 
   
   
    
     }
[;]

    
    
     
     
      
       ::= 
     
          [ ENCRYPTION ]     [ RECOMPILE ]     [ EXECUTE_AS_Clause ]


    
    
     
     
      
       ::= 
     
     
{ [ BEGIN ] 
    
    statements [ END ] }


    
    
     
     
      
       ::=
     
     
EXTERNAL NAME 
    
    assembly_name
    
    .
    
    class_name
    
    .
    
    method_name
   
   
  
  
 
 
但是,是不是说我们真的要一个一个去编写呢?那样的确很繁琐,尤其对于业务逻辑不是很复杂的情况下。
第一个方法:善用SQL SERVER自带的工具。以SQL Server 2005为例,我们可以通过SQL SERVER Management Studio的上下文菜单来生成代码
image 

INSERT INTO [OrderDB].[dbo].[OrderDetails]
           ([OrderID]
           ,[LineNumber]
           ,[ProductID]
           ,[UnitPrice]
           ,[Quantity])
     VALUES
           (
           ,
           ,
           ,
           , )

 

稍加修改就可以变成一个存储过程(Insert操作)

 

第二个方法:善用第三方工具。我这里推荐一个产品是CodeSmith,它有一个模板,可以在几秒钟之内为一个数据库所有表生成增删改查的存储过程
image 
image 
 
作者:陈希章
出处:http://blog.csdn.net/chen_xizhang
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值