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 đủ
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:
- bai_giang_lap_trinh_voi_t_sql_luong_tran_hy_tien.pptx