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 : • 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 : 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 : 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 : • 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. Để 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 : HếtVề đầu trang | |
[Lê Ngọc Thắng] |
Nhận xét
Đăng nhận xét