Bài giảng 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

Cách 1:

SET @Tên_Biến = Giá_Trị

Ví dụ:

DECLARE @HoTen nvarchar(20)

SET @HoTen = N‘Nguyễn Hằng Nga’Cách 2:

SELECT @Tên_Biến = Giá_Trị

Ví dụ:

DECLARE @HoTen nvarchar(20)

SELECT @HoTen = N‘Nguyễn Hằng Nga’

 

Bài giảng Lập trình với T, SQL trang 1

Trang 1

Bài giảng Lập trình với T, SQL trang 2

Trang 2

Bài giảng Lập trình với T, SQL trang 3

Trang 3

Bài giảng Lập trình với T, SQL trang 4

Trang 4

Bài giảng Lập trình với T, SQL trang 5

Trang 5

Bài giảng Lập trình với T, SQL trang 6

Trang 6

Bài giảng Lập trình với T, SQL trang 7

Trang 7

Bài giảng Lập trình với T, SQL trang 8

Trang 8

Bài giảng Lập trình với T, SQL trang 9

Trang 9

Bài giảng Lập trình với T, SQL trang 10

Trang 10

Tải về để xem bản đầy đủ

pptx 30 trang duykhanh 6200
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Lập trình với T, SQL", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Lập trình với T, SQL

Bài giảng Lập trình với T, SQL
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 
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 ’ 
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 ’ 
Gán giá trị cho biến 
Cách 3: 
SELECT @Tên_Biến = Tên_cộtFROM 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 
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 
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 
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 
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 
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 
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 
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 / 
	 WHEN THEN 
	 WHEN THEN 
	[ ELSE ] 
END 
Cấu trúc CASE 
Cú pháp 2 
CASE 	 WHEN THEN 
	 WHEN THEN 
	[ ELSE ] 
END 
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 
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 
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 
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 
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ả. 
Quy trình xử lý con trỏ 
Tạo con trỏ 
Lệnh DECLARE dùng để tạo một con trỏ. 
Nó chứa các lệnh SELECT để bao gồm các bản ghi từ bảng. 
Cú pháp là: 
	 DECLARE CURSOR 
	[LOCAL | GLOBAL]	 
	[FORWARD ONLY | SCROLL] 
	[STATIC | KEYSET | DYNAMIC |FAST_FORWARD] 
	[READ_ONLY | SCROLL_LOCKS | OPTIMISTIC] 
	[TYPE_WARNING] 
	 FOR 
	[FOR UPDATE [OF Column_name[,.N]]] 
Các bước sử dụng con trỏ 
Mở con trỏ: 
	OPEN 
Nhận về các bản ghi: 
	FETCH 
Đóng con trỏ: 
	CLOSE 
Xoá các tham chiếu tới con trỏ: 
	DEALLOCATE 
Truy xuất và duyệt con trỏ 
FETCH FIRST : Truy xuất hàng đầu tiên. 
FETCH NEXT : Truy xuất hàng tiếp theo hàng truy xuất trước đó. 
FETCH PRIOR : Truy xuất hàng trước hàng truy xuất trước đó. 
FETCH LAST : Truy xuất hàng cuối cùng. 
FETCH ABSOLUTE n : Nếu n là một số nguyên dương, nó sẽ truy xuất n hàng trong con trỏ. Nếu n là một số nguyên âm, n hàng trước hàng cuối cùng trong con trỏ được truy xuất. Nếu n bằng 0, không hàng nào được truy xuất. Ví dụ, FETCH Absolute 2 sẽ hiển thị bản ghi thứ hai của một bảng. 
Truy xuất và duyệt con trỏ 
FETCH RELATIVE n : Truy xuất n hàng từ hàng truy xuất trước đó, nếu n là số dương. Nếu n là số âm, n hàng trước hàng truy xuất trước đó được truy xuất. Nếu n bằng 0, hàng hiện tại được nhận về. 
Các biến toàn cục của lệnh FETCH 
@@FETCH _STATUS : Biến này trả về một số nguyên biễu diễn kết quả của lệnh truy xuất cuối cùng của con trỏ . 
@@CURSOR_ROWS : Biến này trả về tổng số hàng hiện tại trong con trỏ đang mở . 
Ví dụ tạo con trỏ 
Con trỏ (tt) 
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. Sử dụng con trỏ, nhiều tác vụ có thể được thực hiện theo từng hàng trên tập kết quả mà có thể cần hoặc ko cần sự có mặt của bảng gốc 
Con trỏ (tt) 
Con trỏ được tạo bằng lệnh DECLARE . Đầu tiên con trỏ được khai báo và tạo ra trong bộ nhớ. Sau đó nó mới được mở. 
Lệnh OPEN mở con trỏ. Việc nhận về các bản ghi từ một con trỏ được gọi là fetching. Một người dùng chỉ có thể nhận về một bản ghi tại một thời điểm. 
Lệnh FETCH được sử dụng để đọc các bản ghi từ con trỏ. 
Ngầm định, một con trỏ là forward only . Nó có thể truy xuất tuần tự các bản ghi từ bản ghi đầu tiên đến bản ghi cuối cùng. Nó không thể truy xuất trực tiếp hàng thứ 1 hoặc hàng cuối cùng trong một bảng. 
Con trỏ (tt) 
Khi một con trỏ tạm thời không cần thiết, nó có thể được đóng bởi lệnh CLOSE . 
Mỗi khi con trỏ không được sử dụng, các tham chiếu đến nó nên được loại bỏ bằng lệnh DEALLOCATE 

File đính kèm:

  • pptxbai_giang_lap_trinh_voi_t_sql.pptx