Bài giảng Cơ sở dữ liệu Oracle: Chương 3 - GV. Dương Khai Phong
lượt xem 23
download
Bài giảng Cơ sở dữ liệu Oracle: Chương 3 Ngôn ngữ thủ tục PL/SQL nhằm trình bày về giới thiệu Oracle, các công cụ cơ bản trong Oracle, công cụ Enterprise Manager (EM), công cụ SQL Plus, công cụ iSQLPlus, ngôn ngữ SQL, ngôn ngữ thủ tục PL/SQL, kiến trúc quản trị Oracle.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Cơ sở dữ liệu Oracle: Chương 3 - GV. Dương Khai Phong
- Trường Đại học Công nghệ thông tin Bộ môn Hệ thống thông tin Môn học: Hệ quản trị CSDL Oracle GV: Dương Khai Phong Email: khaiphong@gmail.com 1
- Nội dung môn học: 1. Giới thiệu Oracle 2. Các công cụ cơ bản trong Oracle • Công cụ Enterprise Manager (EM) • Công cụ SQL Plus • Công cụ iSQLPlus 3. Ngôn ngữ SQL 4. Ngôn ngữ thủ tục PL/SQL 5. Kiến trúc quản trị Oracle 2
- Phần 4: NGÔN NGỮ THỦ TỤC PL/SQL 3
- 1/ GIỚI THIỆU PL/SQL PL/SQL là sự kết hợp giữa SQL và các cấu trúc điều khiển, các thủ tục (function), thao tác con trỏ (cursor), xử lý ngoại lệ (exception) và các lệnh giao tác. Ngôn ngữ thủ tục PL/SQL (Procedural Language/SQL) của Oracle được dùng để xây dựng các ứng dụng. PL/SQL cho phép sử dụng tất cả lệnh thao tác dữ liệu gồm INSERT, DELETE, UPDATE và SELECT, COMMIT, ROLLBACK, SAVEPOINT, cấu trúc điều khiển như vòng lặp (for, while, loop), rẽ nhánh (if),…mà với SQL chúng ta không làm được. 4
- 2/ CẤU TRÚC PL/SQL DECLARE /*Phần Khai báo biến Block 1*/ --- Block 1 Các khai báo biến của Block 1 (Declarations) BEGIN Các câu lệnh thực hiện (Executable Statements) DECLARE /*Phần Khai báo biến Block 2*/ --- Block 2 Các khai báo biến của Block 2 (Declarations) BEGIN Các câu lệnh thực hiện (Executable Statements) EXCEPTION Các xử lý ngoại lệ (Exception Handlers) /*làm gì nếu lỗi xuất hiện bên trong Block 2*/ END --- End Block 2 EXCEPTION Các xử lý ngoại lệ (Exception Handlers) END; --- End Block 1 5
- 3/ KHAI BÁO BIẾN VÀ HẰNG Khai báo biến: mucluong NUMBER(5); Khai báo hằng: heso CONSTANT NUMBER(3,2) := 1.86; Với các kiểu dữ liệu trong Oracle như: NUMBER, CHAR, VARCHAR2, DATE, LONG,…hoặc PL/SQL cho phép như BOOLEAN. Ghi chú: Ký hiệu := được sử dụng như là toán tử gán. 6
- 3/ KHAI BÁO BIẾN, HẰNG VÀ XUẤT/NHẬP Gán biến và biểu thức: biến := biểu thức; Ví dụ: x:=UPPER('Nguyen'); y:=100; mucluong:= mucluong + mucluong*10/100; Ví dụ: kq BOOLEAN; kq:= mucluong>3500000; Độ ưu tiên của toán tử: ** (phép lũy thừa), NOT, *, /, +, -, || (phép nối chuỗi), =, !=, , =, IS NULL, LIKE, BETWEEN, IN, AND, OR. 7
- 3/ KHAI BÁO BIẾN, HẰNG VÀ XUẤT/NHẬP (Các thuộc tính %TYPE và %ROWTYPE) 1. Thuộc tính %TYPE Dùng để khai báo một biến mà nó tham chiếu đến một cột trong cơ sở dữ liệu. (có cấu trúc như một cột trong Table). Ví dụ: khai báo biến v_Manv có cùng kiểu dữ liệu với cột Manv trong bảng NHANVIEN v_Manv NHANVIEN.Manv%TYPE Khai báo có điểm thuận lợi là: kiểu dữ liệu chính xác của biến v_Manv không cần được biết, nếu định nghĩa của cột Manv trong bảng NHANVIEN bị thay đổi thì kiểu dữ liệu của biến v_Manv thay đổi tương ứng. 8
- 3/ KHAI BÁO BIẾN, HẰNG VÀ XUẤT/NHẬP (Các thuộc tính %TYPE và %ROWTYPE) 2. Thuộc tính %ROWTYPE Dùng để khai báo một biến mà nó tham chiếu đến một dòng trong cơ sở dữ liệu (Có cấu trúc như một dòng trong Table). Ví dụ: khai báo biến v_nv có kiểu dữ liệu là một dòng trong bảng NHANVIEN v_nv NHANVIEN%ROWTYPE Khi truy xuất đến từng cột ta sử dụng giống như một bảng dữ liệu (trong trường hợp này chỉ gồm 1 record) tham chiếu đến một cột. Cú pháp: Tên-biến.Tên-cột VD: v_nv.HoTen 9
- 3/ KHAI BÁO BIẾN, HẰNG VÀ XUẤT/NHẬP XUẤT/NHẬP TRONG PL/SQL LỆNH XUẤT: Cú pháp: DBMS_OUTPUT.PUT_LINE (‘Nội dung'); Lưu ý: trước khi thực hiện lệnh xuất ta phải chạy lệnh sau SET SERVEROUTPUT ON LỆNH NHẬP: Trong ORACLE, ta có 2 cách để nhập giá trị cho biến Biến thay thế &: dấu & đặt trước biến. Biến được nhập giá trị lúc thực thi câu SQL. Khi chạy lệnh SQL trong môi trường SQL*Plus sẽ hiện ra dòng chữ -> nhập giá trị vào - Lưu ý: biến kiểu chuỗi, kiểu ngày đặt trong cặp dấu ‘ ’ Biến thay thế &&: dấu && đặt trước biến. Giá trị nhập vào được lưu trữ cho những lần sau. 10
- 3/ KHAI BÁO BIẾN, HẰNG VÀ XUẤT/NHẬP XUẤT/NHẬP TRONG PL/SQL Ví dụ: SET SERVEROUTPUT ON DECLARE x number; BEGIN x:=&x; dbms_output.put(‘Gia tri x =’); dbms_output.putline(x); END; 11
- 4/ CÁC CẤU TRÚC ĐIỀU KHIỂN PL/SQL - Cấu trúc lệnh rẽ nhánh – IF .. THEN.. END IF Cú pháp 1: IF THEN khối lệnh 1; ELSE IF THEN khối lệnh 2; ELSE …..; END IF; END IF; 12
- 4/ CÁC CẤU TRÚC ĐIỀU KHIỂN PL/SQL - Cấu trúc lệnh rẽ nhánh IF - Ví dụ Ví dụ cú pháp 1: IF n=1 THEN ngay :=’Sunday’; ELSE IF n=2 THEN ngay :=’Monday’; END IF; END IF; 13
- 4/ CÁC CẤU TRÚC ĐIỀU KHIỂN PL/SQL - Cấu trúc lệnh rẽ nhánh – IF .. ELSEIF Cú pháp 2: IF THEN khối lệnh 1; ELSIF THEN khối lệnh 2; ELSIF THEN khối lệnh 3; ELSIF THEN khối lệnh n; END IF; 14
- 4/ CÁC CẤU TRÚC ĐIỀU KHIỂN PL/SQL - Cấu trúc lệnh rẽ nhánh IF - Ví dụ Ví dụ cú pháp 2: IF n=1 THEN ngay :=’Sunday’; ELSIF n=2 THEN ngay :=’Monday’; ELSIF n=3 THEN ngay :=’Tuesday’; ELSIF n=4 THEN ngay :=’Wedsday’; ELSIF n=5 THEN ngay :=’Thursday’; END IF; 15
- 4/ CÁC CẤU TRÚC ĐIỀU KHIỂN PL/SQL - Cấu trúc lặp - LOOP Cú pháp: LOOP IF THEN …. EXIT; END IF; END LOOP; 16
- 4/ CÁC CẤU TRÚC ĐIỀU KHIỂN PL/SQL - Cấu trúc lặp LOOP – Ví dụ Ví dụ: DECLARE z number :=1; /*khởi tạo biến z*/ BEGIN LOOP z :=z+3; /*tính biểu thức lặp*/ IF (z>=100) THEN /*nếu thỏa điều kiện thoát khỏi vòng lặp*/ exit; END IF; END LOOP; END; 17
- 4/ CÁC CẤU TRÚC ĐIỀU KHIỂN PL/SQL - Cấu trúc lặp - FOR … LOOP Cú pháp: FOR biến_chạy IN giá_trị_khởi_tạo .. Giá_trị_kết_thúc LOOP END LOOP; 18
- 4/ CÁC CẤU TRÚC ĐIỀU KHIỂN PL/SQL - Cấu trúc lặp FOR … LOOP – Ví dụ Ví dụ: DECLARE z number:=1; /*khởi tạo biến z*/ i number; BEGIN FOR i IN 1 .. 10 LOOP z :=z+3; /*tính biểu thức lặp*/ END LOOP; END; 19
- 4/ CÁC CẤU TRÚC ĐIỀU KHIỂN PL/SQL - Cấu trúc lặp – WHILE … LOOP Cú pháp: WHILE LOOP END LOOP; 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cơ sở dữ liệu đất đai
49 p | 637 | 79
-
Bài giảng Cơ sở dữ liệu - Nguyễn Quỳnh Chi
189 p | 267 | 51
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Tổng quan về cơ sở dữ liệu
21 p | 181 | 31
-
Bài giảng Cơ sở dữ liệu: Bài 1 - ĐH CNTT
15 p | 607 | 30
-
Bài giảng Cơ sở dữ liệu - Bài 2: Mô hình cơ sở dữ liệu quan hệ
43 p | 221 | 18
-
Bài giảng Cơ sở dữ liệu: Chương 2 - ThS. Hoàng Mạnh Hà
68 p | 151 | 12
-
Bài giảng Cơ sở dữ liệu (Database): Chương 4 - TS. Đặng Thị Thu Hiền
82 p | 40 | 8
-
Bài giảng Cơ sở dữ liệu - Chương 4: Chuẩn hóa cơ sở dữ liệu
30 p | 134 | 8
-
Bài giảng Cơ sở dữ liệu nâng cao - Chương 2: Toàn vẹn và cơ sở dữ liệu active
50 p | 82 | 8
-
Bài giảng Cơ sở dữ liệu (Database): Chương 1 - TS. Đặng Thị Thu Hiền
53 p | 49 | 7
-
Bài giảng Cơ sở dữ liệu: Phần 1 – Nguyễn Hải Châu
54 p | 122 | 6
-
Bài giảng Cơ sở dữ liệu: Mở đầu - ThS. Lương Thị Ngọc Khánh
11 p | 170 | 6
-
Bài giảng Cơ sở dữ liệu nâng cao: Bài 1.1 - PGS.TS. Đỗ Phúc
25 p | 90 | 6
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Th.S Thiều Quang Trung
40 p | 93 | 5
-
Bài giảng Cơ sở dữ liệu - Bài 1: Thiết kế Cơ sở dữ liệu với Management Studio
10 p | 62 | 5
-
Bài giảng Cơ sở dữ liệu nâng cao: Bài 2 - PGS.TS. Đỗ Phúc
55 p | 66 | 4
-
Bài giảng Cơ sở dữ liệu: Chương 1 - GV. Đỗ Thị Kim Thành
21 p | 104 | 4
-
Bài giảng Cơ sở dữ liệu: Chương 2 - Trần Thị Dung
39 p | 5 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn