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 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 13/04/2022 3280
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