美文网首页
SQL server 变量的声明和使用

SQL server 变量的声明和使用

作者: 赵研宇 | 来源:发表于2020-02-18 20:20 被阅读0次

    1.全局变量

    定义:以@@开头,后面跟相应的字符串

         如: @@version
    

    由于全局变量是系统定义的,一般只是查询。
    @@ERROR 最后一个T-SQL错误的错误号
    @@IDENTITY 最后一次插入的标识值
    @@LANGUAGE 当前使用的语言名称
    @@MAX_CONNECTIONS 可以创建的同时连接的最大数目
    @@SERVERNAME 本地服务器的名称
    @@VERSION SQL Server的版本信息

    使用全局变量时应该注意以下几点:
    ①全局变量不是由用户的程序定义的,它们是在服务器级定义的。
    ②用户只能使用预先定义的全局变量。
    ③引用全局变量时,必须以标记符“@@”开头。
    ④局部变量的名称不能与全局变量的名称相同,否则会在应用程序中出现不可预测的结果。

    2.局部变量

    定义:

    • DECLARE @variable1 data_type[@variable2 data_type]
    • 其中:
      @variable1、@variable2为局部变量名,必须以@开头
      data_type 是数据类型,可以是系统类型,也可以是用户定义的类型

    给局部变量赋值有两种方法:

    1、SET @variable_name=value
    2、SELECT @variable_name=value
    两者的区别:SET赋值语句一般用于赋给变量一个指定的常量,SELECT赋值语句一般用于从表中查询出数据然后赋给变量。
    例如:
    同时定义三个变量

    DECLARE @test1 VARCHAR(100),
                                                   @test2 VARCHAR(100),
                                                   @test3 VARCHAR(100)
    

    这样定义的变量自动赋值为 null

    变量的赋值举例:

    1. 使用 set

             set  @test1 = '测试'
    
    • 同时给三个变量赋值:
    set  @test1 = '测试',
    set  @test12= '测试'2,
    set  @test3 = '测试3'
    
    • SQL server不允许连续赋值
      即:set @test1 = '测试'@test12= '测试'2 @test3 = '测试3' 这种是错误的

    2.使用 select

    • 可以将查询结果赋值给变量。如果查询结果返回多个值,则将最后一个赋值给变量。
      语法:SELECT @variable1 = VALUE1 [@variable2 = VALUE2] where ...........
    select    @test1 = s_no, @test2 = s_id 
                 from    student     
                        where  s_name = '张三'
    

    相关文章

      网友评论

          本文标题:SQL server 变量的声明和使用

          本文链接:https://www.haomeiwen.com/subject/kwsnfhtx.html