1. 程式人生 > >SQL server 變數的定義和使用

SQL server 變數的定義和使用

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)

這樣定義的變數自動賦值為 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 = '張三'