1. Trang chủ
  2. » Công Nghệ Thông Tin

WHILE (T-SQL) potx

5 856 3

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 133,27 KB

Nội dung

WHILE (T-SQL) Thiết lập 1 điều kiện cho sự lặp lại của việc thi hành 1 câu lệnh SQL hay một khối lệnh. Các câu lệnh được chạy trong vòng lặp nhiều lần, miễn là điều kiện đã cho luôn thỏa. Việc thực hiện các câu lệnh trong vòng lặp WHILE, có thể được điều khiển từ bên trong vòng lặp với từ khóa BREAK và CONTINUE. Cú pháp : WHILE Biểu_thức_Boolean { câu_lệnh_SQL | khổi_lệnh | BREAK | CONTINUE } Các tham số : - Biểu_thức_Boolean : là biểu thức trả về giá trị TRUE hay FALSE. Nếu biểu thức có chứa một lệnh SELECT thì câu lệnh SELECT phải được đóng ngoặc. Ví dụ : WHILE (SELECT COUNT(Manv) FROM NhanVien) < 50 … - câu_lệnh_SQL | khối_lệnh : Là bất kỳ câu lệnh T-SQL đơn nào, hay các câu lệnh được nhóm lại thành một khối lệnh. Để định nghĩa 1 khối lệnh, ta sử dụng các từ khóa điều khiển BEGIN và END. Ví dụ : WHILE … BEGIN UPDATE NhanVien SET Luong = Luong * 1.05 SELECT Manv,Luong FROM NhanVien END - Từ khóa BREAK : thoát khỏi vòng lặp WHILE trong cùng nhất. Các câu lệnh nằm sau từ khóa END kết thúc của vòng lặp sẽ thực thi bình thường. - Từ khóa CONTINUE : Làm cho vòng lặp WHILE bắt đầu một vòng lặp mới, vòng lặp cũ bị kết thúc nên các câu lệnh sau từ khóa CONTINUE sẽ bị bỏ qua.  Sử dụng vòng lặp WHILE với BREAK và CONTINUE : Nếu tổng giá của các sản phẩm nhỏ hơn 1000, ta tăng giá mỗi sản phẩm thêm 5%. Nếu sau khi tăng giá, tổng giá ít hơn hay bằng 1250 thì ta lặp lại việc tăng giá. Việc tăng giá kết thúc khi ta có tổng giá cao hơn 1250. WHILE (SELECT SUM(GiaSanPham) FROM SanPham) < 1000 BEGIN UPDATE SanPham SET GiaSanPham = GiaSanPham * 1.05 IF (SELECT SUM(GiaSanPham) FROM SanPham) > 1250 BREAK ELSE CONTINUE END CASE (T-SQL) Đánh giá theo một danh sách các điều kiện và trả về một trong nhiều biểu thức kết quả đã cho. CASE có thể được sử dụng ở bất kì câu lệnh hay mệnh đề chứa biểu thức nào. Cụ thể, ta có thể sử dụng CASE trong các câu lệnh SELECT, UPDATE, DELETE và SET. Còn các mệnh đề hỗ trợ CASE như IN, WHERE, ORDER BY và HAVING. Biểu thức CASE có 2 dạng : dạng cơ bản và dạng tìm kiếm. + Dạng cơ bản : so sánh 1 biểu thức với một tập các biểu thức đơn giản để chọn ra kết quả. + Dạng tìm kiếm : đánh giá một tập các biểu thức Boolean để chọn ra kết quả. Cú pháp : + Dạng cơ bản : CASE biểu_thức_so_sánh WHEN biểu_thức_điều_kiện_1 THEN biểu_thức_kết_quả_1 WHEN biểu_thức_điều_kiện_2 THEN biểu_thức_kết_quả_2 WHEN biểu_thức_điều_kiện_3 THEN biểu_thức_kết_quả_3 [ n ] [ ELSE biểu_thức_kết_quả_else ] END + Dạng tìm kiếm CASE WHEN biểu_thức_Boolean_điều_kiện_1 THEN biểu_thức_kết_quả_1 WHEN biểu_thức_Boolean _điều_kiện_2 THEN biểu_thức_kết_quả_2 WHEN biểu_thức_Boolean _điều_kiện_3 THEN biểu_thức_kết_quả_3 [ n ] [ ELSE biểu_thức_kết_quả_else ] END >>Tham số: - Biểu_thức_so_sánh : biểu thức cần đánh giá với các điều kiện ở CASE dạng cơ bản. - Biểu_thức_điều_kiện_x ( x=1,2,3… ) : là các biểu thức đơn giản để so sánh với biểu_thức_so_sánh ở CASE dạng cơ bản. Lưu ý, kiểu dữ liệu của biểu_thức_so_sánh và các biểu_thức_điều_kiện_x phải giống nhau hoặc phải có ép kiểu ngầm định. - Biểu_thức_Boolean_điều_kiện_x ( x=1,2,3… ) : là các biểu thức đơn giản để đánh giá TRUE/FALSE ở CASE dạng tìm kiếm. - Biểu_thức_kết_quả_x ( x=1,2,3… ) : là các biểu thức được trả về khi biểu_thức_so_sánh bằng với 1 trong các biểu_thức_điều_kiện, hoặc 1 trong biểu_thức_Boolean_điều_kiện có giá trị là TRUE. - Biểu_thức_kết_quả_else : là biểu thức trả về khi các so sánh đánh giá biểu thức không trả về TRUE. Nếu tham số này không có và không có so sánh nào trả về TRUE thì CASE trả về NULL. Lưu ý, kiểu dữ liệu của biểu_thức_điều_kiện và các biểu_thức_Boolean_điều_kiện phải giống nhau hoặc phải có ép kiểu ngầm định.  Sử dụng câu lệnh SELECT với CASE dạng cơ bản SELECT MaSanPham, TenSanPham, PhanLoai = CASE LoaiSanPham WHEN 'QA' THEN 'Quan Ao' WHEN 'GD' THEN 'Giay Dep' WHEN 'N' THEN 'Non' WHEN 'PK' THEN 'Phu Kien' ELSE 'Khac' END FROM SANPHAM  Sử dụng câu lệnh SELECT với CASE dạng tìm kiếm SELECT MaSinhVien, TenSinhVien, 'Ket Qua' = CASE WHEN TBDiemTichLuy < 5 THEN 'Khong Dat' WHEN TBDiemTichLuy >= 5 and TBDiemTichLuy < 6.5 THEN 'Trung Binh' WHEN TBDiemTichLuy >= 6.5 and TBDiemTichLuy < 8 THEN 'Kha' WHEN TBDiemTichLuy >= 8 and TBDiemTichLuy < 9 THEN 'Gioi' ELSE 'Xuat Sac' END FROM SinhVien IF… ELSE… Cú pháp : IF biểu_thức_điều_kiện { câu_lệnh_sql | khối_lệnh_sql } [ ELSE { câu_lệnh_sql | khối_lệnh_sql } ] Thiết lập điều kiện cho việc thực thi các câu lệnh T-SQL. Câu lệnh T-SQL sau từ khóa IF và biểu thức chứa điều kiện cần thỏa. Nếu biểu thức điều kiện được thỏa, câu lệnh T-SQL này sẽ được thực thi. Ngoài ra, nếu có từ khóa ELSE (tùy ý) thì câu lệnh sau ELSE sẽ được thực thi, khi biểu thức điều kiện không thỏa. Nếu biểu thức điều kiện có chứa câu lệnh SELECT thì câu SELECT phải được đóng ngoặc. Khối lệnh SQL được định nghĩa bởi BEGIN và END. Nếu không có khối lệnh thì chỉ 1 câu lệnh sau IF hoặc ELSE được thực hiện. Câu lệnh IF có thể được sử dụng lồng nhau. Ví dụ : IF (SELECT COUNT(MaSanPham) FROM SanPham) > 0 SELECT COUNT(MaSanPham) FROM SanPham ELSE PRINT 'Khong co san pham nao!' IF … EXISTS … . WHILE (T-SQL) Thiết lập 1 điều kiện cho sự lặp lại của việc thi hành 1 câu lệnh. các câu lệnh trong vòng lặp WHILE, có thể được điều khiển từ bên trong vòng lặp với từ khóa BREAK và CONTINUE. Cú pháp : WHILE Biểu_thức_Boolean {

Ngày đăng: 15/03/2014, 14:20

Xem thêm

TỪ KHÓA LIÊN QUAN

w