Phát biểu chọn theo nhiều chọn lựa

Một phần của tài liệu Chương 8: Lập trình PL/SQL (Trang 57 - 63)

I fr =10 Then Nếu bán kính tới 10 thì dừng

5.3. Phát biểu chọn theo nhiều chọn lựa

A. Dạng 1:

Xem cú pháp sau: <Biến nhận Kq>:= CASE <Giá trị ĐK>

When <Biểu thức ĐK 1> Then Kq1

When <Biểu thức ĐK 2> Then Kq2

When <Biểu thức ĐK 3> Then Kq3 …

Else Kq khác

END;

Xem các ví dụ case:

Ví dụ 1: Cho giá trị n nhận 1,2 hay 3

Case n

When 1 Then ‘One’

When 2 Then ‘Two’

When 3 Then ‘Three’

Else ‘Other’

End;

 Xem lại cú pháp If:

if n = 1 Then ‘One’;

Elsif n = 2 Then ‘Two’;

Elsif n = 3 Then ‘Three’;

Else ‘Other’;

End If;

 Nhận kết quả của CASE KETQUA := Case n

When 1 Then ‘one’

When 2 Then ‘two’

When 3 Then ‘three’

Else ‘other ‘

End;

 Xem lại cú pháp If:

if n = 1 Then KETQUA := ‘one’;

Elsif n = 2 Then KETQUA := ‘two’;

Elsif n = 3 Then KETQUA := ‘three’;

Else KETQUA := ‘other’;

End If;

Ví dụ 2: Xét phái (Nam hoặc Nữ)

DECLARE

PHAI BOOLEAN := TRUE;

KQ CHAR(5);

BEGIN

KQ:= CASE PHAI

WHEN TRUE THEN 'NAM'

WHEN FALSE THEN 'NỮ'

ELSE 'KHAC'

END;

DBMS_OUTPUT.PUT_LINE(KQ);

END;

60

Phái = True -> Nam Còn lại là: Nữ

B. Dạng 2:

<Biến nhận Kq>:= Case

When <Biểu thức ĐK 1> Then Kq1

When <Biểu thức ĐK 2> Then Kq2

When <Biểu thức ĐK 3> Then Kq3 …

Else Kq khác;

End;

Ví dụ 1: Cho giá trị n có thể nhận 1, 2, 3 hay >3 và <8 Case

When n = 1 Then ‘One’

When n = 2 Then ‘Two’

When n = 3 Then ‘Three’

When ( n > 3 And n < 8 ) Then ‘Từ 4->7’

Else ‘Other’

End;

 Nhận kết quả như sau: KETQUA:= Case

When n = 1 Then ‘One’

When n = 2 Then ‘Two’

When n = 3 Then ‘Three’

When ( n > 3 And n < 8 ) Then ‘Từ 4->7’

Else ‘Other’

End;

Ví dụ 2: Xét ví dụ sử dụng case trong câu truy vấn

Tạo bảng nhân viên với các thuộc tính sau:

CREATE TABLE NHANVIEN( (

MANV CHAR(10) NOT NULL,HONV NCHAR(10) NOT NULL, HONV NCHAR(10) NOT NULL, TENLOT NCHAR(10) NOT NULL, TENNV NCHAR(15) NOT NULL, NGAYSINH DATE NOT NULL, PHAI INT NOT NULL, LUONG FLOAT NULL,

PHG INT NOT NULL,

CONSTRAINT PK_NHANVIEN PRIMARY KEY(MANV)); );

Một phần của tài liệu Chương 8: Lập trình PL/SQL (Trang 57 - 63)

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

(72 trang)