這是我大三第一學期《數據庫基礎》這門課的實驗報告,總共15個實驗,我挑了幾個比較重要的放在博客上,方便查看和複習,尤其是最近SSM後端開發,希望對大家,以及將來的我有所幫助!
遊標通俗化理解就是一個指針,通過指向一條條的記錄,來實現我們想要的提取數據的功能。另外在聲明遊標那塊,有很多關鍵字各有各的作用,以後有機會可以去一一嘗試一下,比如KEYSET、DYNAMIC、FAST_FORWARD、SCROLL_LOCKS等等。
實驗要求
1. 參考書中例7-3建立一個嵌套遊標應用,其功能是按學號升序列出全體學生信息(學事情、姓名、院系名稱)及其所修課程的名稱和考試成績信息(基於實驗5建立的表和實驗6插入的數據)。
2. 按要求逐一讀出遊標中的記錄並顯示。
全部總結鏈接
SQL基礎 (數據庫、表、數據的增刪改查、視圖相關,以及所有實驗報告源代碼)
遊標 (類似C++ 的 指針)
存儲過程(類似 C++ 的自定義函數)
觸發器 (類似 自定義的陷阱,或者說是監聽器,滿足某個條件了執行某個方法)
用戶權限及權限管理 (類似Windows的多用戶管理)
併發控制 (瞭解多個用戶同時對數據造成錯誤的情況 和 解決方法)
數據恢復(當數據庫數據丟失,相應的解決方法)
實驗過程
第一步:聲明遊標
圖 1 第一步 ---> 聲明遊標
我的基本語法:
declare 遊標名字 Corsor [scroll] for SQL語句
注:另外有很多可有可無的關鍵字,各有各的作用,其中scroll的官方定義:指定所有的提取選項均可用。感覺很高級的樣子 。 其中sql代碼根據題目要求,查詢每個學生的學號、所在院系名、課程名、成績,並且按照學號升序排序。
第二步:打開遊標
圖 2 第二步 ---> 打開遊標
我的基本語法:
open 遊標名
注:這個很簡單暴力了,open就是打開,顧名思義就是打開遊標
第三步:聲明變量
圖 3 ---> 聲明遊標
我的基本語法:
Declare [變量名 數據類型], [變量名 數據類型], [變量名 數據類型]……
第四步:用遊標抓取數據
圖 4 --->用遊標抓取數據
我的基本語法:
fetch First from 遊標名 into 變量名1, 變量名2, 變量名3……
while @@fetch_status = 0
begin
需要執行的操作……
需要執行的操作……
需要執行的操作……
fetch next from 遊標名 into 變量名1, 變量名2, 變量名3……
end
注:其中@@fetch_status 爲0 代表遊標語句執行成功 爲-1或-2代表執行失敗 其中-1是遇到了小錯誤 -2是遇到了大錯誤…(我的通俗化理解)
第五步:關閉遊標 釋放
圖 5 --->關閉釋放遊標我的基本語法:
Close 遊標名 --關閉遊標
Deallocate 遊標名 --釋放遊標內存
最終結果:
圖 6 最終結果