人生中的第一篇部落格,從現在開始記錄點點滴滴,不再虛度年華。
———beyond
i.學習sql之前回憶一下,什麼是變數?
ii.變數分為區域性變數和全域性變數
區域性變數的使用是先申明再賦值。
全域性變數由系統定義和維護,可以直接使用,但一般不自定義全域性變數。
1:區域性變數:
區域性變數的名稱必須以標記@作為字首
宣告區域性變數的語句如下:
declare @variable name(區域性變數名稱) datatype(資料型別)
區域性變數賦值有兩種方法:set語句或select語句
如圖所示:
2:全域性變數
sqlserver中的所有全域性變數都使用兩個@符號作為字首
常用的幾個全域性變數:(@@error重點)
@@error
上一條sql錯誤號
@@identity
最後一次插入的標識值
@@rowcount
受上乙個sql語句影響的行數
@@servicename
該計算機上的sql服務名稱
@@version
sqlserver的版本資訊
注:程式設計師不能自己定義全域性變數,不能給全域性變數賦值ⅲ:select語句和set語句區別
setselect
同時對多個變數賦值
不支援支援
表示式返回多個值時
出錯將返回的最後乙個值賦給變數
表示式未返回值時
變數將賦值為null
變數保持原值
注
如下圖所示:23
declare
@stuname nvarchar(32)
select
@stuname=studentname
from
student
where
studentno=23
ⅳ:資料型別轉換
cast()與convert()函式
基本語法:
cast(表示式 as 資料型別)
convert(資料型別[(長度)],表示式[,樣式])
二者在本質上無任何區別
唯一不同之處是:在將日期時間型別的資料轉換為字串資料時,convert()函式可以通過第三個引數指定轉換後字元資料的顯示格式不同。
ⅴ:邏輯控制語句
1:順序結構控制語句
begin
語句或語句塊
end2:if-else條件語句(重點)
例如:統計並顯示2013-08-09 的oop考試平均分
如果平均分在70以上,顯示「考試成績優秀」,並顯示前三名學生的考試資訊
如果在70分以下,顯示「考試成績較差」,並顯示後三名學生的考試資訊
3:while迴圈語句
示例:檢查學生「oop」課最近一次考試是否有不及格(60分及格)的學生。
如有,每人加2分,高於95分的學生不再加分,直至所有學生這次考試成績均及格
注:在sql 中,只有while一種迴圈,沒有do-while和for迴圈
4:case多分支語句
case-end語句計算一組條件表示式,並返回其中乙個符合條件的結果
基本語法:
case
when 條件1 then 結果1
when 條件2 then 結果2
[ else 其他結果]
end示例:
abcde五級打分制顯示學生oop課最近一次考試成績(姓名和等級)
a級: 90分以上,b級:80-分,c級: 70-分,d級:60-分,e級:60分以下
批處理
go指令:go關鍵字標誌著批處理的結束,它是一條或多條sql語句的集合
作用: 能簡化資料庫的管理;
批處理可以提高語句執行的效率;
提示
sql程式設計
sql程式設計 一 區域性變數 1.宣告 declare 變數名 資料型別 2.賦值 set 變數名 值 select 變數名 值 區別 1 set不支援同時給多個變數賦值 select支援 2 如果表示式有多個值的話,set會出錯,而select會保留最後乙個值 3 如果表示式沒有值,set賦值的...
SQL程式設計
一 本章目標 1 掌握如何定義變數並賦值 2 如何輸出顯示資料 3 資料型別轉換 cast 和convert 函式 4 掌握邏輯控制語句 順序結構控制語句 begin end語句 分支結構控制語句 if else語句和case end語句 迴圈結構控制語句 while語句 5 使用批處理指令完成多語...
sql程式設計
sql程式設計 一 區域性變數 1.宣告 declare 變數名 資料型別 2.賦值 set 變數名 值 select 變數名 值 區別 1 set不支援同時給多個變數賦值 select支援 2 如果表示式有多個值的話,set會出錯,而select會保留最後乙個值 3 如果表示式沒有值,set賦值的...