zoukankan      html  css  js  c++  java
  • 存储过程和变量

     在SQL Server中,可以定义子程序存放在数据库中,这样子程序称为存储过程

      SQL Server中支持以下几种类型的存储过程

       1,系统存储过程(以“sp_”为前缀,存储在master里面)

       2,本地存储过程(存储在用户自定义的数据库中)

       3,扩展存储过程(以“xp_”为前缀,存储在master里面)

      4,临时存储过程(以#开头)

      注:用户定义的存储过程不能以sp/xp开头

    创建存储过程

       create  procedure   存储过程名  as  SQL语句

    执行存储过程

       Exec(execute)  存储过程名

    修改存储过程

    alter  proc   存储过程名  as  SQL语句

    删除存储过程 

    drop  procedure  存储过程名

    查看存储过程

    sp_helptext  查看存储过程的定义

    sp_help  查看储存过程有关信息

    sp_depends    查看存储过程所依据的对象

    sp_rename   存储过程原名,存储过程新名

    存储过程中参数的使用

      存储过程可以带一个或多个输入参数

     create procedure  存储过程名

    (@ 参数名  数据类型[=默认值])

    as  SQL语句

    执行带参数的存储过程    

    ①使用参数名传递数值

      execute  存储过程名  [@参数名=参数值]

        exec  p_a  @sname='aaa',@pwd='123'

    ②按参数位置传递参数

       execute  存储过程名  参数值1,参数值2

     exec  p_a  'aaa','123'

    加密存储过程

       create  procedure p_mi  (参数组)  with  encryption----加密  as  SQL语句

    带输出参数的存储过程-----从存储过程中返回一个或多个值

      create   procedure   存储过程名  @参数名  数据类型   output   as  SQL语句

    变量

     T-SQL中变量分为局部变量和全局变量

    声明局部变量  declare   以@开头的变量名  类型(长度)

    局部变量赋值  set  局部变量名=值

    注:局部变量和赋值必须分开

    全局变量  以@@开头是SQL系统内部事先定义好的变量

    运算符:

    算数运算符:+,-,*,/,%

    赋值:=

    比较:>,<.....

    逻辑运算符:

      all,and,any,some,betwwen,exists,in,like,not,or

    流程控制

    begin...end:定义语句块,相当于一对括号

    Break:退出最内层的while循环

    continue:重新开始while循环

    goto:无条件跳转语句

    if...else:满足条件执行if否则执行else

    return:无条件退出

    waitfor:为语句的执行设置延迟

    while:条件为真时执行语句

    return:

       declare  @i int

       set @i=0

      while  @i<10

        begin

               set  @i=@i+1

                if   @1%3=0

                return   -----终止整个批处理

                print @i     --最终会输入3

         end

    使用return返回状态值

       存储过程中  return于output区别

      共同点:都返回值 (return只能返回int类型)

     不同点:

    output是定义变量是不是可以返回值

  • 相关阅读:
    关于binary log那些事
    Ubuntu常用软件安装与使用
    Ubuntu 12.04系统优化清理
    Ubuntu 12.04开机自动挂载Windows分区
    wubi安装Ubuntu后扩充Ubuntu系统空间
    sudo找不到命令:修改sudo的PATH路径
    JS 获取触发事件的对象
    NOIP 2002
    NOIP 2011 聪明的质监员
    NOIP 2011 计算系数
  • 原文地址:https://www.cnblogs.com/Sea1ee/p/6361871.html
Copyright © 2011-2022 走看看