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 = '張三'