Lệnh rẽ nhánh CASE

Một phần của tài liệu Đề cương môn học hệ quản trị cơ sở dữ liệu sql server (Trang 97 - 99)

Từ khoá CASE cho phép chúng ta trả về giá trị dựa trên giá trị của biểu thức điều kiện là đúng. Nó có thể sử dụng bất kỳ ở nhánh nào khi biểu thức điều kiện thoả mãn.

Cú pháp:

CASE expression

WHEN expression1 THEN expression1

[[WHEN expression2 THEN expression2] […]] [ELSE expression]

END

Bộ môn CNPM – Khoa CNTT - UTEHY Trang 98 Biểu thức: là một hằng số, tên cột, một hàm, truy vấn con, hoặc bất kỳ biểu thức

nào có thể so sánh với biểu thức khác.

WHEN..THEN: Mệnh đề WHEN giữ giá trị điều kiện hoặc biểu thức cần so sánh. Nếu biểu thức so sánh trả về giá trị ĐÚNG thì mệnh đề THEN được thực hiện. Mệnh đề ELSE chỉ được thực hiện nếu tất cả giá trị trong mệnh đề WHEN trả về SAI.

Lệnh lựa chọn cơ bản:

SELECT au_fname, au_lname, CASE state

WHEN 'OR' THEN 'Oregon' END AS StateName

FROM authors

Cập nhật nhiều cột

Chúng ta có thể sử dụng câu lệnh CASE để cập nhật nhiều cột trong bảng, thậm trí sử dụng điều kiện cập nhật riêng cho mỗi cột. Ví dụ này cập nhật vào bảng publishers để thiết lập cột state là “_ _“ cho những công ty không ở USA, và thay đổi thành phố cho một nhà xuất bản cụ thể, tất cả dữ liệu trong bảng được cập nhật.

UPDATE publishers SET state = CASE WHEN country <> "USA" THEN "--" ELSE state

END,

city = CASE

WHEN pub_id = "9999" THEN "LYON" ELSE city

END

Bộ môn CNPM – Khoa CNTT - UTEHY Trang 99

Định dạng giống nhau sẽ cập nhật 3 hoặc nhiều hàng cùng một lúc với các điều kiện cập nhật khác nhau.

Một phần của tài liệu Đề cương môn học hệ quản trị cơ sở dữ liệu sql server (Trang 97 - 99)

Tải bản đầy đủ (PDF)

(135 trang)