Giới thiệu T-SQLT-SQL T-SQL (Transact-SQL): – TRẦN THỊ BẠCH HUỆ Là ngôn ngữ SQL mở rộng dựa SQL chuẩn ISO (International Organization for Standardization) ANSI (American National Standards Institute) sử dụng SQL Server, khác với P-SQL (Procedural-SQL) dùng Oracle Nội dung Giới thiệu T-SQL (Transact SQL) Kiểu liệu Khai báo biến Gán giá trị cho biến Toán tử Các lệnh điều khiển Một số hàm xây dựng sẵn T-SQL chia làm nhóm lệnh: – Data Definition Language – DDL – Data Control Language – DCL – Create object_Name Alter object_Name Drop object_Name Grant Revoke Deny Data Manipulation Language – DML Select, Insert, Update, Delete Các kiểu liệu Khai báo biến char(n) numeric nchar(n) varchar(n) nvarchar(n) int decimal float real money tinyint smallint bigint bit datetime smalldatetime Cú pháp: declare @ | @@ ; Ý nghĩa: – – Ví dụ: declare @x int; declare @@y float; binary Ví dụ: declare @numberOfCustomers int; select @numberOfCustomers = count(*) from Customers; print @numberOfCustomers; varbinary image text ntext Giải thích: – @: biến cục @@: biến tồn cục Khai báo biến có tên @numberOfCustomers thơng qua từ khóa declare Biến lưu số khách hàng đếm thông qua hàm count Sau in giá trị biến Gán giá trị cho biến Dùng lệnh set select Ví dụ: Select custLast + “ , “ + custFirst Set | Select @ = ; Select @ = ; Ví dụ: from customers DECLARE @age INT; DECLARE @firstName CHAR(20), @lastName CHAR(20); Set @age=21; Select @age=21; SET @lastName=’Forta’; 11 Các lệnh điều khiển Toán tử Toán tử số +,-,*,/,% bitwise: &,|,^,~ string + Cú pháp If điều_kiện Lệnh_của_if Else Lệnh_của_else Chú ý: – 10 Nếu Lệnh_của_if Lệnh_của_else có từ lệnh trở lên phải bao lại BEGIN … END 12 Ví dụ: CREATE PROCEDURE doigiatricotphai AS BEGIN SELECT Hosv,tensv, CASE WHEN phai='True' THEN N'Nam' ELSE N'Nữ' END AS Phai FROM SinhVien END Ví dụ: If a>b begin print “a” print “c” end Else print “b” 13 15 Vòng lặp Cú pháp CASE WHEN THEN kết_quả ELSE kết_quả_của_else END Cú pháp While Chú ý: – Ý nghĩa: – – 14 Nếu từ lệnh trở lệnh phải bao BEGIN…END thực vòng lặp sai khỏi vòng lặp 16 Ví dụ: Ví dụ: IsNumeric(‘abc’) false IsNumeric(1) true Ví dụ: Thay chữ huệ chuỗi Bạch huệ thành chữ Huệ Replace(‘Bạch huệ’,’huệ’, ‘Huệ’) Stuff(‘Hoa hong’,3,4,’bcde’) Hobcdeng DECLARE @counter INT SET @counter=1 WHILE @counter