Cấu trúc điều khiển IF ELSE

Một phần của tài liệu CÀI ĐẶT SQL SERVER 2000 (Trang 99 - 101)

Là một cấu trúc điều kiển, cho phép thực thi một hoặc nhiều phát biểu tùy thuộc vào một điều kiện nào đĩ. câu lệnh để thực thi một khối các câu lệnh theo một điều kiện nào đĩ. Cú pháp: IF condition {statements} [ ELSE [Condition 1] {statements}]

Condition: là một biểu thức logic, cĩ giá trị True hoặc False.Tùy thuộc vào

condition, một trong hai khối lệnh sẽ được thực thi.

Ví dụ 1: Kiểm tra xem trong Customers của NorthWind cĩ chứa các khách hàng đến từ Germany khơng?

USE NorthWind

IF (SELECT COUNT(*) FROM Customers WHERE Country='Germany') > 0

BEGIN

Print ' Cĩ tồn tại các khách hàng từ Germany ở trong cơ sở dữ liệu.'

Print ' statements to process German customers'

ELSE

BEGIN

PRINT ' Khơng cĩ khách hàng đến tử Germany trong cơ sở dữ liệu.' END Ví dụ 2: USE pubs GO DECLARE @msg varchar(255)

IF ( SELECT COUNT(price) FROM titles

WHERE title_id LIKE 'TC%' AND price BETWEEN 10 AND 20) > 0

BEGIN

SET NOCOUNT ON

SET @msg = 'Cĩ vài quyển sách cĩ giá từ $10 đến $20. Các sách đĩ là:'

PRINT @msg

SELECT title FROM titles

WHERE title_id LIKE 'TC%' AND price BETWEEN 10 AND 20

END ELSE BEGIN

SET NOCOUNT ON

SET @msg = 'Khơng cĩ quyển sách nào cĩ giá từ $10 đến $20. Bạn nên tham khảo các quyễn sách cĩ giá nhỏ hơn $10 sau đây.'

PRINT @msg

SELECT title FROM titles

WHERE title_id LIKE 'TC%' AND price < 10 END

Ví dụ 3:

USE pubs

IF (SELECT AVG(price) FROM titles WHERE type = 'mod_cook') < $15

BEGIN

PRINT 'The following titles are excellent mod_cook books:'

PRINT ' '

SELECT SUBSTRING(title, 1, 35) AS Title FROM titles WHERE type = 'mod_cook'

END ELSE

IF (SELECT AVG(price)

FROM titles WHERE type = 'mod_cook')> $15

BEGIN

PRINT 'The following titles are expensive mod_cook books:'

PRINT ' '

SELECT SUBSTRING(title, 1, 35) AS Title FROM titles WHERE type = 'mod_cook' END

Một phần của tài liệu CÀI ĐẶT SQL SERVER 2000 (Trang 99 - 101)