Phần 3 bài giảng "Hệ quản trị cơ sở dữ liệu: Lập trình trên SQL Server" cung cấp cho người học các kiến thức: Cấu trúc điều khiển trong T-SQL, cú pháp searched CASE, cấu trúc WHILE, các toán tử đặc biệt,... Mời các bạn cùng tham khảo.
AMBIENT/
Chủ đề:
Nội dung Text: Bài giảng Hệ quản trị cơ sở dữ liệu: Lập trình trên SQL Server - TS. Lại Hiền Phương (Phần 3)
- Lập trình trên SQL Server
LẠI HIỀN PHƯƠNG
EMAIL: LHPHUONG@TLU.EDU.VN
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 1
- Cấu trúc điều khiển trong
T-SQL
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 2
- Cấu trúc rẽ nhánh IF … ELSE
Cú pháp:
IF biểu_thức_điều_kiện
Lệnh | khối_lệnh khi điều kiện đúng
[ELSE
Lệnh | khối lệnh khi điều kiện sai
]
Với khối lệnh gồm nhiều câu, cần đặt giữa cặp từ khóa BEGIN … END
BEGIN
Câu lệnh 1
…
Câu lệnh n
END
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 3
- Ví dụ cấu trúc IF … ELSE
Ví dụ: Từ bảng SinhVien và bảng KetQua, tính
điểm trung bình của ‘Nguyễn Văn A’ và hiển thị
‘Đạt’ nếu điểm trung bình lớn hơn hoặc bằng 3.5
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 4
- Ví dụ cấu trúc IF … ELSE
Các cấu trúc IF … ELSE có thể lồng nhau
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 5
- Cấu trúc lựa chọn CASE
CASE trong SQL dùng để đánh giá một danh sách
các điều kiện và trả về 1 trong các biểu thức kết
quả thỏa mãn điều kiện đánh giá
CASE có 2 định dạng:
CASE đơn giản (Simple CASE): so sánh một biểu thức với
một bộ các biểu thức đơn giản để xác định kết quả
CASE tìm kiếm (Searched CASE): đánh giá một bộ các
biểu thức Boolean để xác định kết quả
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 6
- Cú pháp Simple CASE
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 7
- Ví dụ Simple CASE
Ví dụ: hiện ra màn hình tên tháng hiện tại
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 8
- Cú pháp Searched CASE
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 9
- Ví dụ: Searched CASE
Ví dụ: Viết lại ví dụ xếp loại SV Nguyễn Văn A
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 10
- Cấu trúc lặp WHILE
Cú pháp: BREAK: thoát khỏi vòng lặp
WHILE WHILE, tất cả các lệnh sau từ
biểu_thức_điều_kiện khóa BREAK và trước từ khóa
BEGIN END sẽ bị bỏ qua.
Khối lệnh 1
[BREAK]
CONTINUE: bỏ qua các câu
lệnh sau từ khóa CONTINUE và
Khối lệnh 2
trước từ khóa END để nhảy đến
[CONTINUE]
vòng lặp tiếp theo của vòng lặp
Khối lệnh 3 WHILE.
END
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 11
- Ví dụ cấu trúc WHILE
Ví dụ: Hiển thị các số từ 1 đến 9
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 12
- Một số toán tử đặc biệt
Một số toán tử đặc biệt dùng trong các biểu thức điều kiện:
Toán tử Ý nghĩa Ví dụ
ALL Tất cả 3.5 ANY (SELECT Diem from KETQUA)
SOME Tương tự ANY 3.5 > SOME (SELECT Diem from KETQUA)
BETWEEN Nằm giữa phạm vi @Diem BETWEEN (3 and 5)
EXISTS Tồn tại EXISTS (SELECT Diem from KETQUA)
IN Kiểm tra xem một giá trị có @GT in (N'Nam', N'Nữ')
tồn tại trong một tập cho
trước không
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 13
- Ví dụ các toán tử đặc biệt
Ví dụ: Truy vấn hiển thị MaSV, HoTen, KetQua của tất cả các sinh
viên trong bảng SinhVien với KetQua = ‘Còn nợ môn’ với sinh viên có
môn thi chưa đạt và ‘Đã qua hết’ với sinh viên đã qua hết các môn
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 14
- Ví dụ các toán tử đặc biệt
Ví dụ: cách khác dùng ALL
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 15
- Ví dụ các toán tử đặc biệt
Ví dụ: cách khác dùng ANY
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 16
- Ví dụ các toán tử đặc biệt
Ví dụ: cách khác dùng IN
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 17
- Sử dụng biến kiểu dữ liệu
Cursor
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 18
- Khái niệm về cursor
Các lệnh của SQL Server làm việc trên một nhóm nhiều
bản ghi
Cursor là cấu trúc giúp làm việc với từng bản ghi tại một
thời điểm
Khai báo cursor như một câu lệnh SELECT
Có thể di chuyển giữa các bản ghi trong cursor để làm việc
Có thể dùng cursor để cập nhật dữ liệu
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 19
- Các bước sử dụng kiểu dữ liệu cursor
Định nghĩa biến kiểu cursor bằng lệnh DECLARE
Sử dụng lệnh OPEN để mở ra cursor đã định nghĩa trước
đó
Đọc và xử lý trên từng dòng lệnh bên trong cursor
Đóng cursor lại bằng lệnh CLOSE và DEALLOCATE
LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 20