SQL SERVER 7 T SQL程式設計

2021-08-28 11:59:25 字數 2595 閱讀 3489

t-sql程式設計

--t-sql中的變數都是以@符號開頭的。

--以乙個@符號,開頭,叫做「使用者宣告的變數」

--以兩個@@開頭的叫做「全域性變數」,「系統變數」

select @@version

select @@language

--為變數賦值

--「全域性變數」(系統變數),是系統來維護的,無需我們手動干預,我們只能從中獲取值

--不能為系統變數賦值

--set @@language='文言文'

--select @@language

--變數的宣告,賦值與使用

--1.自己定義乙個變數

declare @username nvarchar(50)

--為變數賦值(一般情況,推薦使用set來為變數賦值)

set @username=n'黃林'

--另外一種為變數賦值的方式

select @username=n'許正龍';

--列印一下

print @username

--2.宣告同時初始化

declare @age int=100;

print @age;

--宣告的同時賦值,之後使用

declare @score int =80

select * from tblscore where tenglish>@score

--變數宣告之後如果沒有賦值,則結果是null,而且null與任何值的計算結果都是null

--所以說以後宣告變數在使用前記得賦值

declare @n int =100

declare @m int

select @m+@n  --null與任何值計算結果都是null

--系統變數

@@error      --最後乙個t-sql錯誤的錯誤號,如果沒有出錯則返回0

@@identity   --最後一次插入的標識值(自動增長的編號)

@@language   --當前使用的語言

@@max_connections    --同事訪問的最大連線數

@@rowcount   --上乙個sql語句影響的行數

@@servername --本地伺服器的名稱

@@version    --當前sql server的版本號

@@transcount --當前連線開啟的事務數

select 1/0

print @@error

declare @n1 int

declare @n2 int

print @n1,@n2   --這裡直接列印會報錯,這樣的書寫格式是不正確的

print @@error   --列印最後一次sql執行的結果,錯誤返回錯誤資訊編號,正確返回0

--if判斷,使用bengin... end   代替大括號

declare @age int

set @age=100

if(@age>150)

begin

print '>150'

endelse if(@age>100)

begin

print '>100'

endelse

begin

print '<=100'

end--while迴圈的用法

--計算1-100之間所有整數的和

declare @i int,@sum int

set @i=1

set @sum=0  --這裡必須賦值,不然null和任何值相加都是null

while @i<=100

begin

set @sum=@sum+@i

set @i=@i+1

endselect @sum

--通過set賦值與通過select賦值到的區別

--使用set賦值

declare @n int

set @n=(select sum(tenglish) from tblscore)

print @n

--通過select為@n賦值

declare @n int

select @n=sum(tenglish) from tblscore

print @n

--通過上面發現在聚合函式中使用set和select賦值都是可以的,並沒有區別

--但是如果不是使用在聚合函式中,如果子句查詢出來的結果是多條記錄的時候

--使用set賦值

declare @n int

set @n=(select tenglish from tblscore) --當該子查詢返回的值不只乙個的時候,這樣寫會報錯!!!

print @n

--相對來說通過set賦值更嚴謹一些

--使用select賦值

declare @n int

--當子查詢返回不只乙個值的時候,select賦值能獲取最後乙個值,而set賦值則報錯。

select @n=tenglish from tblscore order by tenglish desc

select @n

--而通過select賦值則更寬鬆一些

--但是不會報錯可能導致返回的結果會是錯誤的,所以在使用的時候要注意

SQL server中的T SQL語句

首先點選新建查詢 如下圖所示 建立資料庫 create database 資料庫名稱 使用資料庫 use 資料庫名稱 建立表 create table 表名 輸入完成執行時需選中 如果需要多條語句一起執行,則需要在後面 go 例如 create database 資料庫名稱 go use 資料庫名稱...

SQLSERVER之T SQL查詢(二)

今天我們討論乙個簡單的問題,由於是剛想到怕忘記記錄,所以乙個簡單的問題寫乙個部落格有點兒浪費。不過技術在於理解,在於知其然也要知其所以然,還是記錄一下同時也希望能幫到大家。sql查詢會有很多部落格,希望自己能耐心的寫下去,鞏固自己的知識。select s.sid,s.name from dbo.st...

SQL server中的T SQL語句

首先點選新建查詢 如下圖所示 建立資料庫 create database 資料庫名稱 使用資料庫 use 資料庫名稱 建立表 create table 表名 輸入完成執行時需選中 如果需要多條語句一起執行,則需要在後面 go 例如 create database 資料庫名稱 go use 資料庫名稱...