SQL Server 2000 : Cấu trúc điều khiển – Cấu trúc rẽ nhánh IF ... ELSE


Với cấu trúc rẻ nhánh, người lập trình có thể chỉ một một hoặc nhiều câu lệnh sẽ được thực hiện khi giá trị của một biểu thức luận lý là đúng hoặc là sai. Cấu trúc rẽ nhánh được phép sử dụng bên trong một lô (batch) các lệnh hoặc bên trong một thủ tục nội tại. Cấu trúc rẽ nhánh được phép lồng nhiều cấp bên trong và cấp độ lồng nhau của các cấu trúc rẽ nhánh là không có giới hạn.


Cú pháp :

Trong đó :
• Biểu thức luận lý : thông thường là một biểu thức so sánh dùng để chỉ ra một điều kiện so sánh nào đó.
• Câu lệnh 1 / Khối lệnh 1 : các lệnh sẽ được thực hiện khi biểu thức luận lý so sánh có giá trị là đúng (True).
• Câu lệnh 2 / Khối lệnh 2 : các lệnh sẽ được thực hiện khi biểu thức luận lý so sánh có giá trị là sai (False).
Lưu ý :
Khối lệnh được đề cập là một tập hợp từ hai câu lệnh trở lên, trong các trường hợp này bắt buộc bạn phải sử dụng các từ khóa BEGIN và END để hình thành một nhóm các câu lệnh trong một khối lệnh.
Cú pháp :

Ví dụ :
Tính xem có vật tư nào đã bán ra với số lượng nhiều hơn 4 không ? Nếu có thì in ra danh sách các vật tư đó, ngược lại thì thông báo chưa bán được vật tư nào với số lượng nhiều hơn 4. Bạn sử dụng cú pháp IF ... ELSE như sau :

Kết quả trả về :

Nhận xét : trong ví dụ trên, sử dụng biểu thức luận lý là một biểu thức so sánh có sử dụng truy vấn SELECT COUNT WHERE dùng để đếm các hàng hóa bán ra có số lượng lớn hơn 4. Nếu kết quả đếm > 0 thì in danh sách các vật tư đ1o ra. Ngược lại thông báo chưa bán hàng hóa với số lượng nhiều hơn 4.
Khi lập trình trong Transaction-SQL, thông thường bạn cần phải kiểm tra dữ liệu có tồn tại bên trong các bảng trước khi thực hiện tiếp các hành động liên quan đến các dòng dữ liệu đó. Cú pháp IF có kết hợp từ khóa EXISTS dùng để kiểm tra sự tồn tại của các dòng dữ liệu bên trong bảng rất hữu hiệu.
Cú pháp :

Trong đó :
• Từ khóa EXISTS : dùng để kiểm tra sự tồn tại các dòng dữ liệu trong câu lệnh truy vấn SELECT sau đó. Kết quả IF trả về đúng (True) khi câu lệnh SELECT trả về ít nhất một dòng dữ liệu, ngược lại thì trả về sai (False).
Ví dụ :
Thực hiện lại ví dụ trên nhưng sử dụng cú pháp IF EXISTS dùng để kiểm tra xem đã có hàng hóa nào bán ra với số lượng nhiều hơn 4 chưa.

Ví dụ :
Để kiểm tra xem có phiếu nhập hàng nào đã lập vào ngày chủ nhật không. Nếu có thì in ra danh sách các phiếu nhập hàng đó. Bạn sử dụng cú pháp IF như sau :

Nhận xét : trong ví dụ trên sử dụng hàm DATENAME với tham số dw (viết tắt của từ day of week, ngày trong tuần) dùng để trả về ngày trong tuần của ngày nhập hàng.
Hết
Về đầu trang
[Lê Ngọc Thắng]

Nhận xét

Bài đăng phổ biến từ blog này

Kinh nghiệm tạo biểu đồ Use Case

PHÉP TOÁN XOR

Phần mềm hỗ trợ vẽ bản đồ tư duy trên máy tính

Power Designer 12.5