SQL server 变量的定义和使用

版权声明: https://blog.csdn.net/weixin_39823527/article/details/82877043

1.全局变量

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

         如: @@version

查看全局变量   SELECT @@version

执行结果: Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) 
    Jun 28 2012 08:36:30 
    Copyright (c) Microsoft Corporation
    Express Edition with Advanced Services (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

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

2.局部变量

定义:DECLARE @variable1 data_type[@variable2 data_type]

其中:@variable1、@variable2为局部变量名,必须以@开头

           data_type 是数据类型,可以是系统类型,也可以是用户定义的类型

同事定义三个变量 DECLARE @test1 VARCHAR(100),@test2 VARCHAR(100),@test3 VARCHAR(100)

扫描二维码关注公众号,回复: 4304287 查看本文章

这样定义的变量自动赋值为 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 = '张三'

           

猜你喜欢

转载自blog.csdn.net/weixin_39823527/article/details/82877043