• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
泛舟
欲穷千里目,更上一层楼
博客园    首页    新随笔    联系   管理    订阅  订阅

存储过程的一般定义

 

一般存储过程定义包括如下几部分:

1. 存储过程名称

CREATE PROCEDURE procedure_name  

或者:Create  proc  procedure_name

 

2.参数,输入参数,输出参数

@parameter_name1  int,          //输入参数定义,包括名称,类型及长度

@parameter_name2= defual_value  varchar(80)  //输入参数,带默认值

@parameter_out  int   output                  //输出的参数

 

 

AS  //as后面部分是存储过程具体内容

 

3.内部参数定义,定义方式如2,需定义名称及,类型,长度

Declare      

@Parameter_inter1  int,

@Parameter_inter2   varchar(30)

 

4.初始化内部参数:

Set @Parameter_inter1 =5,

//可以取得需要的值以存在內部參數中:

 SELECT @parameter_inter2=table.column FROM table WHERE …….

 

5.具体操作语句,一般都包括以下几种流程控制语句(if else | select case | while ):

 

  ===============Select ... CASE(多条件) 实例:============ 

 DECLARE @iRet INT, @PKDisp VARCHAR(20)

    SET @iRet = '1'

    Select @iRet =

    CASE

        WHEN @PKDisp = '一' THEN 1

        WHEN @PKDisp = '二' THEN 2

        WHEN @PKDisp = '三' THEN 3

        WHEN @PKDisp = '四' THEN 4

        WHEN @PKDisp = '五' THEN 5

        ELSE 100

 END

========== While(循环) 实例:====================

    DECLARE @i INT

    SET @i = 1

    WHILE @i<1000000

BEGIN

        set @i=@i+1   //更改条件,比做

    END

    -- 打印

    PRINT @i

============= If(单条件)处理例子:================

 

IF @strTO<>''    //条件

 BEGIN

UPDATE UNIT SET UNIT_NAME=REPLACE(UNIT_NAME,'*','')

WHERE UNIT_CODE=@strTO

END

ELSE   BEGIN

UPDATE UNIT SET UNIT_NAME=UNIT_NAME+'*' WHERE UNIT_CODE='011'

END

 

6.最后是 :

Go

 

 

 

使用存储过程:

Execute   procedure_name

带参数为:

Execute  procedure_name  ‘parameter1_value’,’paramerter2_ value’

或者:

Exec  procedure_name   paramerter1=’parameter1_value’,

parameter2=’ paramerter2_ value’


专业参考:http://software.it168.com/manual/sqlserver/

posted @ 2008-08-22 08:25  7goal  阅读(422)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3