Điều kiện và vòng lặp
Nội dung:
- Điều kiện
- Vòng lặp
- Quản lý lỗi
1. Các xử lý điều kiện
Câu lệnh IF - ELSE
INFO
- Sử dụng đến câu lệnh if-else/case là là câu lệnh điều kiện được sử dụng khi cần đưa ra một quyết định nào đó
TIP
- Cú pháp
IF<biểu thức điều kiện>{<Câu lệnh> | BEGIN...END} ELSE {<Câu lệnh> | BEGIN...END}
WARNING
- Nếu thực thi hai hoặc nhiều câu lệnh trong mệnh đề IF hoặc ELSE. Bạn cần bao các câu lệnh này trong khối BEGIN…END
- Ví dụ:
Lệnh If Exists
TIP
- Cú pháp
IF EXISTS (Câu_lệnh_SELECT)
Câu_lệnh1 | Khối_lệnh1 [ELSE Câu_lệnh2| Khối_lệnh2]
- Ví dụ
Lệnh IIF Function
TIP
- Cú pháp
IIF (expression, expr_true, expr_false)
- Ví dụ
Hàm CASE trong SQL Server
INFO
Hàm CASE kiểm định giá trị dựa trên danh sách điều kiện đưa ra và trả về một hoặc nhiều kết quả.
CASE rất đa dạng, linh hoạt và rất hữu ích, ứng dụng trong nhiều trường hợp.
CASE có 2 định dạng:
Simple CASE là so sánh một biểu thức với một bộ các biểu thức đơn giản để xác định kết quả
Searched CASE là đánh giá một bộ các biểu thức Boolean để xác định kết quả
Simple CASE
Cú pháp
Ví dụ
Searched CASE:
Cú pháp
Ví dụ
So sánh Simple CASE và Searched CASE
2. Vòng lặp
INFO
- Vòng lặp được sử dụng nếu muốn chạy lặp đi lặp lại một đoạn mã khi điều kiện cho trước trả về giá trị là TRUE
Cú pháp
Cú pháp
Lệnh Break (Ngắt điều khiển)
INFO
- Dùng để thoát khỏi vòng lặp
- Không có tham số và đối số nào nằm trong câu lệnh BREAK
- Nếu trong đoạn code có WHILE LOOP lồng nhau, BREAK sẽ chấm dứt vòng lặp WHILE gần nhất
- Ví dụ
Lệnh Continue:
INFO
- Thực hiện bước lặp tiếp theo, bỏ qua các lệnh trong bước lặp hiện tại.
- Không có tham số và đối số nào nằm trong câu lệnh CONTINUE
- Ví dụ
3. Quản lý lỗi
Xử lý lỗi TRY…CATCH
INFO
- Thực hiện các lệnh trong khối TRY, nếu gặp lỗi sẽ chuyển qua xử lý bằng các lệnh trong khối CATCH
WARNING
- TRY và CATCH phải cùng lô xử lý
- Sau khối TRY phải là khối CATCH
- Có thể lồng nhiều cấp
Một số hàm ERROR thường dùng
Ví dụ 1
Ví dụ 2
Thủ tục RAISERROR
INFO
- Trả thông báo lỗi về cho ứng dụng
Cú pháp
Ví dụ