Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 92 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
92
Dung lượng
1,58 MB
Nội dung
Trường Đại học Sài Gịn Khoa Cơng nghệ thơng tin STORED PROCEDURE – FUNCTION – TRIGGER Giảng viên: Đỗ Ngọc Như Loan Biên soạn: Nguyễn Thị Uyên Nhi T-SQL NÂNG CAO Transact-SQL nâng cao Transact-SQL 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 với P-SQL (Procedural-SQL) Ngôn ngữ thủ tục thiết kế để mở rộng khả SQL có khả tích hợp tốt với SQL Một số tính biến địa phương xử lý chuỗi/dữ liệu thêm vào Transact-SQL nâng cao T-SQL tổ chức theo khối lệnh, khối lệnh lồng bên khối lệnh khác, khối lệnh bắt đầu BEGIN kết thúc END, bên khối lệnh có nhiều lệnh, lệnh ngăn cách dấu chấm phẩy BEGIN Khai báo biến Các câu lệnh T-SQL END; 1.1 Khai biến a) Biến cục bộ: Là đối tượng chứa giá trị thuộc kiểu liệu định, tên biến bắt đầu ký tự @ Biến cục có giá trị query batch thủ tục thường trú (stored procedure) hàm (function) Khai báo biến cục lệnh declare: cung cấp tên biến kiểu liệu: Declare tên_biến Kiểu_dữ_liệu Ví dụ: Declare @MaSinhVien char(10) Declare @HoTen nvarchar(30) Declare @Sum float, @Count int 1.1 Khai biến Để gán giá trị cho biến cục dùng lệnh set Giá trị gán cho biến phải phù hợp với kiểu liệu biến Set tênbiến = giátrị Set tênbiến = tênbiến Set tênbiến = biểuthức Set tênbiến = kết_quả_truy_vấn Ví dụ: Set @MaLop = ‘TH2001’ Set @SoSV = (select count (*) from SinhVien) Set @MaLop = ‘TH’+Year(@NgayTuyenSinh) Đưa kết truy vấn vào biến: SV(MaSV: int; HoTen: nvarchar(30), Tuoi int) Select @Var1 = HoTen, @Var1 = Tuoi from SV where MaSV = 1.1 Khai biến Tính tổng hai số Begin Declare @v_Result Int; Khai báo biến Declare @v_a Int = 50; Khai báo biến có giá trị 50 Declare @v_b Int = 100; Khai báo biến có giá trị 100 In hình Console (Dùng cho lập trình viên) Sử dụng Cast để ép kiểu Int kiểu chuỗi Sử dụng toán tử + để nối chuỗi Print 'v_a= ' + Cast(@v_a as varchar(15)); In hình Console Print 'v_b= ' + Cast(@v_b as varchar(15)); Tính tổng Set @v_Result = @v_a + @v_b; In hình Console Print 'v_Result= ' + Cast(@v_Result as varchar(15)); End; 1.1 Khai biến b) Biến toàn cục: Là biến hệ thống SQL Server cung cấp, tên biến bắt đầu ký tự @ 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 Một số biến hệ thống thuờng dùng @@error: thông báo mã lỗi, @@error = 0: thao tác thực thành công @@rowcount: cho biết số dòng bị ảnh hưởng lệnh cuối (insert, update, delete) @@trancount: cho biết số giao dịch hoạt động kết nối @@ fetch_status: cho biết thao tác lấy liệu từ trỏ có thành cơng khơng 1.2 Cấu trúc điều khiển a) Lệnh If else Chức năng: xét điều kiện để định lệnh T-SQL thực Cú pháp: IF Khối lệnh 1; [ELSE IF Khối lệnh 2; ] [ELSE Khối lệnh n + 1; ] Trong đó: Khối lệnh nhiều lệnh nằm cặp từ khóa begin end 1.2 Cấu trúc điều khiển Ví du: xét lược đồ quan hệ (LĐQH) HOCPHAN(MAHP, TENHP, SISO) DANGKY(MASV, MAHP) Viết lệnh để thêm đăng ký cho sinh viên có mã số 001 vào học phần HP01 (giả sử học phần tồn bảng HocPhan) phải bảo đảm SISO HOCPHAN ln