Bài giảng Lập trình với T-SQL - Lương Trần Hy Tiến

Lập trình với T-SQL  
Lập trình với T_SQL  
◼ Khai báo biến:  
DECLARE @Tên_Biến Kiểu_Dữ_Liệu  
◼ Ví dụ:  
DECLARE @Tuoi int  
DECLARE @MSSV varchar(5)  
DECLARE @numCount int  
◼ Tên biến: Bắt đầu bởi @  
◼ Kiểu dữ liệu của biến: Lấy kiểu dữ liệu hệ  
thống, trừ kiểu text, ntext, image  
DBMS07 – Slides 2  
Gán giá trị cho biến  
◼ Cách 1:  
SET @Tên_Biến = Giá_Trị  
◼ Ví dụ:  
DECLARE @HoTen nvarchar(20)  
SET @HoTen = N‘Nguyễn Hằng Nga’  
DBMS07 – Slides 3  
Gán giá trị cho biến  
◼ Cách 2:  
SELECT @Tên_Biến = Giá_Trị  
◼ Ví dụ:  
DECLARE @HoTen nvarchar(20)  
SELECT @HoTen = N‘Nguyễn Hằng Nga’  
DBMS07 – Slides 4  
Gán giá trị cho biến  
◼ Cách 3:  
SELECT @Tên_Biến = Tên_cột  
FROM Tên_Bảng  
◼ Ví dụ: Tìm lương lớn nhất của tất cả nhân  
viên:  
DECLARE @MaxSalary decimal(18,2)  
SELECT @MaxSalary = MAX(Luong)  
FROM NhanVien  
DBMS07 – Slides 5  
SQL Server Object – Local Variables  
◼ Các biến được sử dụng trong cấu truy vấn như là các  
tham số.  
◼ Cho lược đồ CSDL và dữ liệu tương ứng như sau:  
HocSinh  
DiemThi  
MaHS TenHS NgaySinh DiaChi MaHS HocKy NamHoc Diem  
01  
Bảo 10/10/1977 123  
01  
01  
2001  
10  
02  
Hải 11/11/1981 456  
03  
01  
2002  
8
DBMS07 – Slides 6  
SQL Server Object – Local Variables  
Ví dụ: Liệt kê danh sách học sinh có ngày  
sinh vào ngày ‘10/10/1977’  
DECLARE @NgaySinh datetime  
SET @NgaySinh = ’10/10/1977’  
SELECT * FROM HocSinh  
WHERE NgaySinh = @NgaySinh  
DBMS07 – Slides 7  
SQL Server Object – Local Variables  
Ví dụ: Liệt kê danh sách các học sinh có địa chỉ là  
‘123’ và điểm thi lớn hơn 7  
DECLARE @DiaChi nvarchar(50), @Diem Decimal  
SELECT@DiaChi=’123’, @Diem = 7  
SELECT * FROM HocSinh JOIN DiemThi ON  
HocSinh.MaHS = DiemThi.MaHS  
WHERE DiaChi = @DiaChi AND DiemThi > @Diem  
DBMS07 – Slides 8  
Cấu trúc điều khiển  
◼ Cấu trúc điều kiện:  
Nếu (biểu thức điều kiện) thì  
Lệnh/Khối lệnh  
IF (biểu thức điều kiện)  
BEGIN  
Lệnh/Khối lệnh S  
hoặc SQL Statement  
END  
Lệnh/Khối lệnh P  
hoặc SQL Statement  
DBMS07 – Slides 9  
Cấu trúc điều kiện  
◼ Tìm Max 2 số  
DECLARE @a, @b, @Max int  
SET @Max = @a  
IF (@a < @b)  
BEGIN  
SET @Max = @b  
END  
Print @Max  
DBMS07 – Slides 10  
Cấu trúc điều kiện  
◼ Nếu (biểu thức điều kiện) thì  
Lệnh/Khối lệnh S1  
◼ Ngược lại  
Lệnh/Khối liệnh S2  
IF (biểu thức điều kiện)  
BEGIN  
Lệnh/Khối lệnh S1  
END  
ELSE  
BEGIN  
Lệnh/Khối lệnh S  
END  
Lệnh/Khối lệnh P  
Cấu trúc điều kiện  
◼ Tìm Max 2 số  
DECLARE @a, @b, @Max int  
IF (@a < @b)  
BEGIN  
SELECT @Max = @b  
END  
ELSE  
BEGIN  
SELECT @Max = @a  
END  
Print @Max  
DBMS07 – Slides 12  
Cấu trúc CASE  
◼ Cho phép kiểm tra điều kiện và xuất  
thông tin theo từng trường hợp  
◼ Cú pháp 1  
CASE <tên cột>/<biểu thức>  
WHEN <giá trị> THEN <biểu thức>  
WHEN <giá trị> THEN <biểu thức>  
…
[ELSE <biểu thức>]  
END  
DBMS07 – Slides 13  
Cấu trúc CASE  
◼ Cú pháp 2  
CASE WHEN <giá trị> THEN <biểu thức>  
WHEN <giá trị> THEN <biểu thức>  
…
[ELSE <biểu thức>]  
END  
DBMS07 – Slides 14  
Ví dụ Case  
Ví dụ 1:  
SELECT TENCLB1, ‘Kết quả’ =  
CASE  
WHEN (SOBANTHANG – SOBANTHUA > 0) THEN ‘Thắng’  
WHEN (SOBANTHANG – SOBANTHUA = 0) THEN ‘Hòa’  
WHEN (SOBANTHANG – SOBANTHUA < 0) THEN ‘Thua’  
END,  
TENCLB2  
FROM vKETQUA  
DBMS07 – Slides 15  
Ví dụ Case (tt)  
CHITIETBAN(sohd, masach, slban, dgban)  
Ví dụ 2:  
SELECT masach,sum(slban)as tongslban,  
(CASE WHEN sum(slban)>10 THEN  
N‘Bán chạy'  
ELSE  
N‘Bán chậm'  
END) as thongtin  
FROM CHITIETBAN  
GROUP BY masach  
DBMS07 – Slides 16  
Ví dụ Case (tt)  
SACH (masach, tuasach, sotrang, matheloai, slton)  
Ví dụ 3: Tăng số trang của những sách thuộc thể  
loại Tin học thêm 10, câp số trang của những  
sách thuộc thể loại Toán học  
UPDATE sach SET sotrang=sotrang+  
CASE WHEN matheloai=1 THEN  
10  
WHEN matheloai=4 THEN  
-10  
ELSE  
0
END  
DBMS07 – Slides 17  
Cấu trúc lặp  
◼ Viết chương trình tính tổng s = 1 + 2 + .. + n  
Cấu trúc lặp  
◼ BREAK: Thoát khỏi vòng lặp WHILE  
◼ CONTINUE: Thực hiện lần lặp mới  
DBMS07 – Slides 19  
Lập trình với con trỏ  
◼ Một con trỏ là một đối tượng cơ sở dữ liệu được  
sử dụng bởi ứng dụng để thao tác với các hàng dữ  
liệu thay vì các tập hợp dữ liệu.  
◼ Con trỏ được dùng với Procedure và Trigger  
◼ Với con trỏ chúng ta có thể:  
◼
◼
Cho phép định vị các hàng chỉ định của tập kết quả.  
Nhận về một hàng đơn hoặc tập hợp các hàng từ vị trí  
hiện tại của tập kết quả.  
◼
◼
Hỗ trợ sửa đổi dữ liệu của hàng ở vị trí hiện tại trong  
tập kết quả.  
Hỗ trợ nhiều cấp độ quan sát đối với các thay đổi được  
tạo ra bởi các người dùng khác trên các dữ liêu của tập  
kết quả.  
DBMS07 – Slides 20  
Tải về để xem bản đầy đủ
pptx 30 trang yennguyen 24800 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình với T-SQL - Lương Trần Hy Tiến", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pptxbai_giang_lap_trinh_voi_t_sql_luong_tran_hy_tien.pptx