Bài giảng Hệ quản trị cơ sở dữ liệu MSSQL 2005: Chương 4 - Hồ Thị Anh Đào
Số trang: 42
Loại file: ppt
Dung lượng: 1.99 MB
Lượt xem: 13
Lượt tải: 0
Xem trước 5 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Cùng nắm kiến thức trong chương này thông qua việc tìm hiểu các nội dung sau: Khai báo và sử dụng biến, cấu trúc lệnh, con trỏ, Stored procedure, một số hàm cơ bản,....Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Bài giảng Hệ quản trị cơ sở dữ liệu MSSQL 2005: Chương 4 - Hồ Thị Anh Đào KHOACÔNGNGHỆTHÔNGTIN Chương4 TSQLPROGRAMINGLOGOI.KHAIBÁOVÀSỬDỤNGBIẾNCó2loạibiến:Cụcbộvàtoàncục1. Biếncụcbộ: Địnhnghĩa:làbiếnchỉsửdụngtrongđoạnchươngtrình khaibáonónhưQueryBatch,storedprocedure/function, chứagiátrịthuộcmộtkiểunhấtđịnh. Biếncụcbộđượcbắtđầubằng1kýhiệu@ Khaibáo: Declare,… Vídụ: Declare@MaSinhVienchar(10) Declare@Gioitinhbit,@NgaysinhSmallDateTime Gángiátrịchobiến Cú pháp Set@tên_biến={giá_trị|biến|biểu_thức| CấutrúcSelect} Ví dụ Set @MaLop = ‘TH2001’ Set @SoSV = (select count (*) from SinhVien) Set @MaLop = ‘TH’+Year(@NgayTuyenSinh) Chú ý: Kết quả lệnh Select chỉ cho một giá trị (không thể nhiều bộ giá trị) Gángiátrịcủacộttạidònghiệntạihoặcdòngchỉđịnhtrong Tablechobiến. Cúpháp: Select=, =, … [Where] NếukếtquảcủaSelectchonhiềudòngthìsẽgángiátrịcủadòng cóSTTvậtlýđầutiênchobiến. Hiểnthịkếtquảcủabiến: Print Vídụ:Hiểnthịdòng‘Xinchào’họtêncủasinhviênđầutiêntrong bảngSINHVIEN Declare@htnVarchar(30) Select@ht=HotenFromSINHVIEN PrintXinchào+@ht2.Biếntoàncục: Địnhnghĩa:làbiếnđượcsửdụngbấtkỳđâutronghệthống. TrongSQLbiếntoàncụcLàcácbiếnhệthốngdoSQLServer cungcấp SQLtựcậpnhậtgiátrịchocácbiếnnày,Ngườisửdụngkhông thểgángiátrịtrựctiếpchobiếnnày Bảnchấtlà1hàm(function)vàbắtđầubằngkýtự@@ MộtsốbiếntoàncụctrongSQL Tênbiến Ýnghĩa@@ERROR MãsốlỗicủacâulệnhTSQLcuốicùngbịlỗi@@FETCH_STATUS Trạngtháitruynhậpcontrỏ: 0nếutrạngtháitruynhậtcuốicùngthànhcông 1nếucólỗi@@IDENTITY Giátrịxácđịnh(identity)cuốicùngđượcthêmvào@@ROWCOUNT SốlượngdòngcủakếtquảcâulệnhSQLgầnđây nhất.@@SERVERNAME TêncủaServerđịaphương@@TRANSCOUNT Sốlượngnhữnggiaodịchđangđượcmở@@VERSION ThôngtinvềphiênbảnSQLServerđangdùng@@CURSOR_ROWS Sốlượngcácdòngdữliệucủacontrỏmớiđượcmở gầnđâynhấtII.CẤUTRÚCLỆNH1.CấutrúcIF… Cúpháp: If Lệnh|Khối_lệnh [ElseLệnh|Khối_lệnh] Khốilệnhlàmộthoặcnhiềulệnhnằmtrongcặptừkhóabegin… end Giảithíchcấutrúc Vídụ: Viếtlệnhđểthêmdữliệumới(001,HồThị,Lan,CT11)vàobảng SINHVIEN.Quiđịnhrằngmỗilớpchỉđượctốiđa50sinhviên. Declare@SiSoint Select@SiSo=Count(MaSV)FromSINHVIEN WhereMaLop=‘CT11’ If@SiSo 2.CấutrúcCaseCúpháp:Cóhaidạng–Dạng1(simplecase): Dạng2:(searchedcase):CaseBiểu_thức CaseWhenGiá_trị1Thenkết_quả1 Whenthenkết_quả1[WhenGiá_trị2ThenKết_quả2 Whenthenkết_quả2[...n] [...n][Elsekết_quả_khác] [Elsekết_quả_khác]End End2.CấutrúcWHILE Cúpháp While Lệnh|Khốilệnh [Break] [Continue] CóthểthêmBreakvàContinuetrongkhốilệnhcủawhile Break:thoátkhỏivòngWhilehiệnhành Continue:trởlạiđầuvòngWhile,bỏquacáclệnhsauđó Giảithích:Vídụ:Viếtđoạnchươngtrìnhtáchtêncủasinhviêncómã‘0001’trongbảngSINHVIENDeclare@htvarchar(30),@tenvarchar(10),@Lint,@iint,@jint,@ktvarchar(10)set@ht=(selecthotenfromSINHVIENWhereMaSV=0001)Set@L=LEN(@ht)Set@i=1While@iIIICURSOR(CONTRỎ) 1.Kháiniệm: Làmộtcấutrúcdữliệuánhxạđếnmộttậpcácdòngdữliệulàkếtquảcủamộtcâutruyvấn(select),chophépduyệttuầntựcácdòngdữliệuvàđọcgiátrịtừngdòngtrongtậpkếtquả Sửdụngcontrỏcóthểđếnvịtrímộtdòngnhấtđịnhtrongtậpkếtquả. Truycậpđến1dònghoặc1tậphợpnhữngdòngtừvịtríhiệntạicủacontrỏtrongtậpkếtquả. Hỗtrợsửachữadữliệuở1dòngnàođó. Vídụ:Chúngtacómộtdanhsáchsinhviên(Select),tronglậptrìnhtamuốncómộtcontrỏđếnvịtrítừngdòngđểcónhữngtruycậpcầnthiết.1. Tạocontrỏ CâulệnhDECLAREđểkhaibáocontrỏ.Nóchứađựngcâulệnh Selectđểđưaratậpnhữngbảnghitừbảng. DeclareCursor_nameCursor [Local|Global] [Forward_only|Scroll] [Static|Dynamic] [Read_only] Forselect_statement NhữngthamsốgạchchânlàmặcđịnhGiảithích Local:cursorcụcbộ,chỉcóthểsửdụngtrongphạmvimộtkhối(querybatch)hoặcmộtthủtục/hàm Global:cursortoàncục(tồntạitrongsuốtconnectionhoặcđếnkhibịhủytườngminh) Forw ...
Nội dung trích xuất từ tài liệu:
Bài giảng Hệ quản trị cơ sở dữ liệu MSSQL 2005: Chương 4 - Hồ Thị Anh Đào KHOACÔNGNGHỆTHÔNGTIN Chương4 TSQLPROGRAMINGLOGOI.KHAIBÁOVÀSỬDỤNGBIẾNCó2loạibiến:Cụcbộvàtoàncục1. Biếncụcbộ: Địnhnghĩa:làbiếnchỉsửdụngtrongđoạnchươngtrình khaibáonónhưQueryBatch,storedprocedure/function, chứagiátrịthuộcmộtkiểunhấtđịnh. Biếncụcbộđượcbắtđầubằng1kýhiệu@ Khaibáo: Declare,… Vídụ: Declare@MaSinhVienchar(10) Declare@Gioitinhbit,@NgaysinhSmallDateTime Gángiátrịchobiến Cú pháp Set@tên_biến={giá_trị|biến|biểu_thức| CấutrúcSelect} Ví dụ Set @MaLop = ‘TH2001’ Set @SoSV = (select count (*) from SinhVien) Set @MaLop = ‘TH’+Year(@NgayTuyenSinh) Chú ý: Kết quả lệnh Select chỉ cho một giá trị (không thể nhiều bộ giá trị) Gángiátrịcủacộttạidònghiệntạihoặcdòngchỉđịnhtrong Tablechobiến. Cúpháp: Select=, =, … [Where] NếukếtquảcủaSelectchonhiềudòngthìsẽgángiátrịcủadòng cóSTTvậtlýđầutiênchobiến. Hiểnthịkếtquảcủabiến: Print Vídụ:Hiểnthịdòng‘Xinchào’họtêncủasinhviênđầutiêntrong bảngSINHVIEN Declare@htnVarchar(30) Select@ht=HotenFromSINHVIEN PrintXinchào+@ht2.Biếntoàncục: Địnhnghĩa:làbiếnđượcsửdụngbấtkỳđâutronghệthống. TrongSQLbiếntoàncụcLàcácbiếnhệthốngdoSQLServer cungcấp SQLtựcậpnhậtgiátrịchocácbiếnnày,Ngườisửdụngkhông thểgángiátrịtrựctiếpchobiếnnày Bảnchấtlà1hàm(function)vàbắtđầubằngkýtự@@ MộtsốbiếntoàncụctrongSQL Tênbiến Ýnghĩa@@ERROR MãsốlỗicủacâulệnhTSQLcuốicùngbịlỗi@@FETCH_STATUS Trạngtháitruynhậpcontrỏ: 0nếutrạngtháitruynhậtcuốicùngthànhcông 1nếucólỗi@@IDENTITY Giátrịxácđịnh(identity)cuốicùngđượcthêmvào@@ROWCOUNT SốlượngdòngcủakếtquảcâulệnhSQLgầnđây nhất.@@SERVERNAME TêncủaServerđịaphương@@TRANSCOUNT Sốlượngnhữnggiaodịchđangđượcmở@@VERSION ThôngtinvềphiênbảnSQLServerđangdùng@@CURSOR_ROWS Sốlượngcácdòngdữliệucủacontrỏmớiđượcmở gầnđâynhấtII.CẤUTRÚCLỆNH1.CấutrúcIF… Cúpháp: If Lệnh|Khối_lệnh [ElseLệnh|Khối_lệnh] Khốilệnhlàmộthoặcnhiềulệnhnằmtrongcặptừkhóabegin… end Giảithíchcấutrúc Vídụ: Viếtlệnhđểthêmdữliệumới(001,HồThị,Lan,CT11)vàobảng SINHVIEN.Quiđịnhrằngmỗilớpchỉđượctốiđa50sinhviên. Declare@SiSoint Select@SiSo=Count(MaSV)FromSINHVIEN WhereMaLop=‘CT11’ If@SiSo 2.CấutrúcCaseCúpháp:Cóhaidạng–Dạng1(simplecase): Dạng2:(searchedcase):CaseBiểu_thức CaseWhenGiá_trị1Thenkết_quả1 Whenthenkết_quả1[WhenGiá_trị2ThenKết_quả2 Whenthenkết_quả2[...n] [...n][Elsekết_quả_khác] [Elsekết_quả_khác]End End2.CấutrúcWHILE Cúpháp While Lệnh|Khốilệnh [Break] [Continue] CóthểthêmBreakvàContinuetrongkhốilệnhcủawhile Break:thoátkhỏivòngWhilehiệnhành Continue:trởlạiđầuvòngWhile,bỏquacáclệnhsauđó Giảithích:Vídụ:Viếtđoạnchươngtrìnhtáchtêncủasinhviêncómã‘0001’trongbảngSINHVIENDeclare@htvarchar(30),@tenvarchar(10),@Lint,@iint,@jint,@ktvarchar(10)set@ht=(selecthotenfromSINHVIENWhereMaSV=0001)Set@L=LEN(@ht)Set@i=1While@iIIICURSOR(CONTRỎ) 1.Kháiniệm: Làmộtcấutrúcdữliệuánhxạđếnmộttậpcácdòngdữliệulàkếtquảcủamộtcâutruyvấn(select),chophépduyệttuầntựcácdòngdữliệuvàđọcgiátrịtừngdòngtrongtậpkếtquả Sửdụngcontrỏcóthểđếnvịtrímộtdòngnhấtđịnhtrongtậpkếtquả. Truycậpđến1dònghoặc1tậphợpnhữngdòngtừvịtríhiệntạicủacontrỏtrongtậpkếtquả. Hỗtrợsửachữadữliệuở1dòngnàođó. Vídụ:Chúngtacómộtdanhsáchsinhviên(Select),tronglậptrìnhtamuốncómộtcontrỏđếnvịtrítừngdòngđểcónhữngtruycậpcầnthiết.1. Tạocontrỏ CâulệnhDECLAREđểkhaibáocontrỏ.Nóchứađựngcâulệnh Selectđểđưaratậpnhữngbảnghitừbảng. DeclareCursor_nameCursor [Local|Global] [Forward_only|Scroll] [Static|Dynamic] [Read_only] Forselect_statement NhữngthamsốgạchchânlàmặcđịnhGiảithích Local:cursorcụcbộ,chỉcóthểsửdụngtrongphạmvimộtkhối(querybatch)hoặcmộtthủtục/hàm Global:cursortoàncục(tồntạitrongsuốtconnectionhoặcđếnkhibịhủytườngminh) Forw ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Hệ quản trị cơ sở dữ liệu MSSQL 2005 Hệ quản trị cơ sở dữ liệu MSSQL 2005 Hệ quản trị cơ sở dữ liệu Cơ sở dữ liệu MSSQL 2005 Biến toàn cụcGợi ý tài liệu liên quan:
-
Giáo án Tin học lớp 12 (Trọn bộ cả năm)
180 trang 248 0 0 -
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 235 0 0 -
Thực hiện truy vấn không gian với WebGIS
8 trang 228 0 0 -
69 trang 142 0 0
-
57 trang 87 0 0
-
34 trang 81 0 0
-
Bài giảng Khái niệm về hệ cơ sở dữ liệu: Bài 2 - Hệ quản trị cơ sở dữ liệu
13 trang 75 0 0 -
Giáo trình Hệ quản trị cơ sở dữ liệu - Trần Thiên Thành
130 trang 71 0 0 -
Phát triển Java 2.0: Phân tích dữ liệu lớn bằng MapReduce của Hadoop
12 trang 69 0 0 -
Lý thuyết, bài tập và bài giải hệ thống thông tin kế toán: Phần 1
198 trang 67 0 0