資源描述:
《實驗4 T-SQL語言》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、實驗4T-SQL語言實驗目的:1、掌握Transact-SQL語言中的變量、運算符、函數(shù);2、掌握Transact-SQL語句編寫批處理和流程控制程序。3、掌握游標的創(chuàng)建,打開,數(shù)據(jù)讀取,關閉,銷毀的基本方法實驗內容和步驟:Transact-SQL語言是在SQLServer2005中使用的程序設計語言。不但包含了標準SQL語言部分,而且為了滿足實際應用中的編程需要,在Transact-SQL語言中還另外增加了一些語言要素,它們包括注釋、變量、運算符、函數(shù)和流程控制語句等。所有的語句都在查詢分析器中執(zhí)行。1.Tr
2、ansact-SQL語句實驗內容1:返回在程序執(zhí)行過程中上一條SQL語句影響的記錄數(shù)(全局變量@@ROWCOUNT),注意觀察結果窗口。useteach--打開teach數(shù)據(jù)庫GO--查詢學生表中的記錄SELECT*FROMStudent--查詢上一條SELECT語句影響的記錄數(shù)SELECT@@ROWCOUNTAS第一次查詢返回的記錄數(shù)GO實驗內容2:查詢學生表的人數(shù),將返回的記錄數(shù)賦給局部變量@RowsUSEteachGODECLARE@Rowsint--聲明局部變量--給局部變量賦值SET@Rows=(SE
3、LECTCOUNT(*)FROMStudent)--顯示局部變量的值SELECT@RowsASSELECT返回的記錄數(shù)GO實驗內容3:設置一個局部變量為表,進行插入和查詢操作--定義變量為臨時表DECLARE@Table_ExampleTABLE(Col_numintPRIMARYKEY,Col_textchar(50))--向該變量中添加兩行內容INSERTINTO@Table_ExampleVALUES(1,'thisisa')INSERTINTO@Table_ExampleVALUES(2,'tabled
4、atatypeexample')--從臨時表中查詢SELECT*FROM@Table_ExampleGO實驗內容4:(練習,自己試著寫一下)設置一個局部變量其值為選修了課程的人數(shù),并顯示提示:DECLARE@Rowsint--聲明局部變量--給局部變量賦值SET@Rows=(SELECTCOUNT(distinctsno)FROMSC)--顯示局部變量的值SELECT@RowsAS選課人數(shù)GO實驗內容5:檢查sysdatabases中的每一個數(shù)據(jù)庫,使用數(shù)據(jù)庫標識號來確定數(shù)據(jù)庫名稱。USEmaster--打開m
5、aster數(shù)據(jù)庫GO--DB_NAME是一個函數(shù),功能是根據(jù)數(shù)據(jù)庫標識號,來返回數(shù)據(jù)庫的名稱SELECTdbid,DB_NAME(dbid)ASDB_NAMEFROMsysdatabasesORDERBYdbidGO實驗內容6:從數(shù)據(jù)庫中返回學生表的第2列的名稱USEteachGO--定義局部變量,用于存放學生表的ID號DECLARE@學生表IDINT--OBJECT_ID是一個函數(shù),功能是返回數(shù)據(jù)庫對象的編號SET@學生表ID=OBJECT_ID('Student')--COL_NAME是一個函數(shù),返回指定表
6、中指定字段的名稱,即列名SELECTCOL_NAME(@學生表ID,2)AS學生表中第2列的名稱GO實驗內容7:簡單年、月、日函數(shù)SELECTMONTH('03/12/1998'),DAY('03/12/1998'),YEAR('03/12/1998')實驗內容8:從系統(tǒng)當前日期中返回系統(tǒng)當前的年份數(shù)、月份數(shù)和天數(shù)。--GETDATE()函數(shù)返回系統(tǒng)當前日期SELECTYEAR(GETDATE())AS當前年份,MONTH(GETDATE())AS當前月份,DAY(GETDATE())AS當前天數(shù)GO實驗內容9
7、:自己編寫函數(shù)。編寫一個函數(shù),名稱為“函數(shù)_學生選課數(shù)”,要求根據(jù)輸入的學生學號,求此學生的選課數(shù)。USEteachGO--通過CREATEFUNCTION語句創(chuàng)建用戶的自定義函數(shù)“函數(shù)_學生選課數(shù)”CREATEFUNCTION函數(shù)_學生選課數(shù)(@xuehaoASchar(9)--函數(shù)的輸入?yún)?shù))RETURNSint--返回結果類型BEGIN--函數(shù)體DECLARE@選課數(shù)ASintSELECT@選課數(shù)=COUNT(cno)FROMSCWHERESno=@xuehaoRETURN@選課數(shù)ENDGO--使用自定義
8、函數(shù),求選課表(SC)中每位學生的選課數(shù)SELECTDISTINCTStudent.Sno,Sname,選課數(shù)=dbo.函數(shù)_學生選課數(shù)(SC.Sno)FROMStudent,SCWHEREStudent.Sno=SC.SnoGO實驗內容10:(練習,自己試著寫一下)練習自定義函數(shù),求每門課程的選課人數(shù)提示:USEteachGOCREATEFUNCTION函數(shù)_選課人數(shù)(@cnoASc