理解T-SQL: 存储过程

存储过程的定义、描述就不多说了,都明白。直接从基本的存储过和开始讲起。

1. 创建存储过程

CREATE  {  PROC   |   PROCEDURE  }  [ schema_name. ]  procedure_name  [  ; number  ]
    
[  { @parameter [ type_schema_name.  ]  data_type }
        
[  VARYING  ]   [  = default  ]   [  [ OUT [ PUT  ]
    ] 
[  ,dot.gif ]
[  WITH <procedure_option> [ ,dot.gif ]     -- procedure_option可以有RECOMPILE、ENCRYPTION等。
[  FOR REPLICATION  ]
AS
     { 
< sql_statement >   [ ; ][  dot.gif ]   |   < method_specifier >  }       [ ; ]
        
< sql_statement >  :: =    {  [  BEGIN  ]  statements  [  END  ]  }
        
< method_specifier >  :: =  EXTERNAL NAME assembly_name.class_name.method_name



   以上,重要的,procedure_name表示存储过程名,注意不要使用sp_开头的名称,因为容易与系统存储过程混淆。
   @parameter表示参数,可以有多个,data_type,表示参数的类型,另外,支持默认参数,只要在参数后面加上"=defaultvalue"即可。
   如果想要输出参数,则需要加OUTPUT关键字,
   参数定义好后,就开始到正式存储过程的代码了,使用AS表示存储过程代码开始。
   sql_statement表示代码正文,以begin..end包括起来。

      1.1 一个简单的存储过程 

Create   Procedure  prGetEquipment
    
@chvMake   varchar ( 50 )
as
    
Select   *   from  Equipment  where  Make  =   @chvMake

 

      1.2 判断存储过程存不存在

    if   exists  ( select   *   from  sysobjects  where  id  =   object_id ( ' prGetEquipment  ' )
               
and   OBJECTPROPERTY (id,  ' IsProcedure ' =   1 )
        
drop   procedure  prGetEquipment

 

 

注:暂时先把这篇给贴上去,以后在项目中用到存储过程时,会把相应的代码和注释贴上来,存储过程一节纯粹是在项目中学习。

转载于:https://www.cnblogs.com/30ErLi/archive/2010/09/17/1829280.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值