Tran Huu Dang
7 min

Đ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ụ: pic1pic1

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ụ pic1

Lệnh IIF Function

TIP

  • Cú pháp
    IIF (expression, expr_true, expr_false)
  • Ví dụ pic1

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 pic1

  • Ví dụ pic1

Searched CASE:

  • Cú pháp pic1

  • Ví dụ pic1

So sánh Simple CASE và Searched CASEpic1

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

pic1

  • Cú pháp pic1

  • Cú pháp pic1

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ụ pic1

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ụ pic1

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

pic1

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 pic1

  • Ví dụ 1 pic1

  • Ví dụ 2 pic1

Thủ tục RAISERROR

INFO

  • Trả thông báo lỗi về cho ứng dụng
  • Cú pháp pic1

  • Ví dụ pic1