PowerPoint Template LOGO Chương 4Chương 4 T SQL PROGRAMINGT SQL PROGRAMING KHOA CÔNG NGHỆ THÔNG TIN I KHAI BÁO VÀ SỬ DỤNG BIẾN Có 2 loại biến Cục bộ và toàn cục 1 Biến cục bộ Định nghĩa là biến chỉ[.]
KHOA CÔNG NGHỆ THÔNG TIN Chương T-SQL PROGRAMING LOGO I KHAI BÁO VÀ SỬ DỤNG BIẾN Có loại biến: Cục toàn cục Biến cục bộ: Định nghĩa: biến sử dụng đoạn chương trình khai báo Query Batch, stored procedure/ function , chứa giá trị thuộc kiểu định Biến cục bắt đầu ký hiệu @ Khai báo: Declare , … Ví dụ: Declare @MaSinhVien char(10) Declare @Gioitinh bit, @Ngaysinh SmallDateTime Gán giá trị cho biến Cú pháp Set @tên_biến = {giá_trị | biến | biểu_thức | Cấu trúc Select } Ví dụ Set @MaLop = ‘TH2001’ Set @SoSV = (select count (*) from SinhVien) Set @MaLop = ‘TH’+Year(@NgayTuyenSinh) Chú ý: Kết lệnh Select cho giá trị (không thể nhiều giá trị) Gán giá trị cột dòng dòng định Table cho biến Cú pháp: Select =, =, … [Where ] Nếu kết Select cho nhiều dịng gán giá trị dịng có STT vật lý cho biến Hiển thị kết biến: Print Ví dụ: Hiển thị dịng ‘Xin chào’ họ tên sinh viên bảng SINHVIEN Declare @ht nVarchar(30) Select @ht=HotenFrom SINHVIEN Print 'Xin chào'+ @ht Biến toàn cục: Định nghĩa: biến sử dụng đâu hệ thống Trong SQL biến toàn cục Là biến hệ thống SQL Server cung cấp SQL tự cập nhật giá trị cho biến này, Người sử dụng gán giá trị trực tiếp cho biến Bản chất hàm (function) bắt đầu ký tự @@ Một số biến toàn cục SQL Tên biến Ý nghĩa @@ERROR Mã số lỗi câu lệnh T-SQL cuối bị lỗi @@FETCH_STATUS Trạng thái truy nhập trỏ: trạng thái truy nhật cuối thành công -1 có lỗi @@IDENTITY Giá trị xác định (identity) cuối thêm vào @@ROWCOUNT Số lượng dòng kết câu lệnh SQL gần @@SERVERNAME Tên Server địa phương @@TRANSCOUNT Số lượng giao dịch mở @@VERSION Thông tin phiên SQL Server dùng @@CURSOR_ROWS Số lượng dòng liệu trỏ mở gần II CẤU TRÚC LỆNH Cấu trúc IF… Cú pháp: If Lệnh| Khối_lệnh [Else Lệnh| Khối_lệnh] Khối lệnh nhiều lệnh nằm cặp từ khóa begin…end Giải thích cấu trúc Ví dụ: Viết lệnh để thêm liệu (001,Hồ Thị ,Lan, CT11) vào bảng SINHVIEN Qui định lớp tối đa 50 sinh viên Declare @SiSo int Select @SiSo = Count(MaSV) From SINHVIEN Where MaLop= ‘CT11’ If @SiSo < 50 Begin Insert into SINHVIEN(MaSV, Ho, Ten, Malop) Values(‘001’,N’Hồ Thị’ ,N’Lan’, ‘CT11’) Print N’Thêm thành công’ End Else Print N’Lớp đủ số sinh viên’ Cấu trúc Case Cú pháp: Có hai dạng –Dạng (simple case): Dạng 2: (searched case): Case Biểu_thức When Giá_trị Then kết_quả [When Giá_trị Then Kết_quả [ n] [ Else kết_quả_khác] End Case When then kết_quả When then kết_quả [ n] [ Else kết_quả_khác] End Cấu trúc WHILE Cú pháp While Lệnh| Khối lệnh [Break] [Continue] Có thể thêm Break Continue khối lệnh while Break: khỏi vịng While hành Continue : trở lại đầu vòng While, bỏ qua lệnh sau Giải thích: