intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Quản trị cơ sở dữ liệu Oracle: Chương 6 - GV. Cao Thị Nhâm (HV Ngân hàng)

Chia sẻ: Cvcxbv Cvcxbv | Ngày: | Loại File: PDF | Số trang:43

196
lượt xem
64
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương 6 Ngôn ngữ PL/SQL nằm trong bộ bài giảng Quản trị cơ sở dữ liệu Oracle trình bày PL/SQL là gì? Cấu trúc khối lệnh của PL/SQL, biến số, hằng số Phép gán, các phép toán, cấu trúc điều khiển: điều kiện rẽ nhánh, lặp Con trỏ Hàm và thủ tục Trigger Package.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Quản trị cơ sở dữ liệu Oracle: Chương 6 - GV. Cao Thị Nhâm (HV Ngân hàng)

  1. NGÔN NGỮ PL/SQL Giảng viên: Cao Thị Nhâm Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng
  2. Tài liệu tra cứu 7-2 Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng @NhamCT
  3. Nội dung chính  PL/SQL là gì?  Cấu trúc khối lệnh của PL/SQL  Biến số, hằng số  Phép gán, các phép toán  Cấu trúc điều khiển: điều kiện rẽ nhánh, lặp  Con trỏ  Hàm và thủ tục  Trigger  Package 7-3 Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng @NhamCT
  4. PL/SQL là gì? • SQL: Structure Query Language • SQL chưa đủ mạnh để lập trình • PL/SQL: Procedural Language extensions for SQL • Điểm mạnh của PL/SQL: – Tích hợp cấu trúc hướng thủ tục vào SQL – Tăng hiệu năng xử lý – Module hóa chương trình – Khả chuyển – Có cơ chế xử lý ngoại lệ 7-4 Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng @NhamCT
  5. Cách thực thi các lệnh PL/SQL PL/SQL Engine procedural Procedural PL/SQL Statement Block Executor SQL SQL Statement Executor Oracle Database Server 7-5 Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng @NhamCT
  6. Cấu trúc khối lệnh [DECLARE declaration_statements ] BEGIN executable_statements [EXCEPTION exception_handling_statements ] END; 7-6 Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng @NhamCT
  7. Biến (variable) Biến là gì?  Đặc điểm của biến: • Lưu trữ dữ liệu tạm thời • Cho phép sửa dữ liệu • Cho phép tái sử dụng 7-7 Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng @NhamCT
  8. Quy tắc đặt tên biến  Bắt đầu bằng chữ cái  Có thể chứa cả số và chữ cái  Có thể chứa kí tự đặc biệt: dấu $, gạch dưới, … (hạn chế dùng $)  Tối đa 30 kí tự  Không trùng với từ khóa mà Oracle sử dụng, ví dụ: varchar, table… 7-8 Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng @NhamCT
  9. Khai báo và khởi tạo giá trị cho biến  Đặt trong phần DECLARE  Khai báo biến Tên_biến kiểu_dữ_liệu [NOT NULL] [:= expr];  Ví dụ DECLARE emp_hiredate DATE; emp_deptno NUMBER(2) NOT NULL := 10; location VARCHAR2(13) := 'Atlanta'; c_comm CONSTANT NUMBER := 1400; 7-9 Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng @NhamCT
  10. Gán giá trị cho biến  Có thể gán giá trị theo 2 cách • Gán trực tiếp: Tên_biến := giá_trị; • Gán “gián tiếp”: SELECT tên_cột_1, tên_cột_2, … INTO tên_biến_1, tên_biến_2,… FROM tên_bảng [WHERE điều kiện]; 7-10 Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng @NhamCT
  11. Gán giá trị cho biến – ví dụ DECLARE deptno NUMBER(4); loc_id NUMBER(4); empno CHAR(5); BEGIN empno := ‘00010’; SELECT department_id, location_id INTO deptno, loc_id FROM departments WHERE department_name = 'Sales'; ... END; / 7-11 Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng @NhamCT
  12. Phép toán • Toán học • • Logic So sánh } Giống với SQL • Lũy thừa (**) – Ví dụ: 4**2 = 16 7-12 Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng @NhamCT
  13. Cấu trúc điều khiển  Rẽ nhánh • IF… THEN…ELSE • CASE…WHEN  Lặp • Vòng lặp đơn giản • Vòng lặp WHILE • Vòng lặp FOR for loop • GOTO while 7-13 Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng @NhamCT
  14. Rẽ nhánh IF…THEN…ELSE CASE…WHEN IF condition THEN CASE selector statements; WHEN expression1 THEN result1 [ELSIF condition THEN WHEN expression2 THEN result2 statements;] ... [ELSE WHEN expressionN THEN resultN statements;] [ELSE resultN+1] END IF; END; 7-14 Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng @NhamCT
  15. Vòng lặp  Vòng lặp: thực hiện lặp đi lặp lại một dòng lệnh hoặc tập hợp các dòng lệnh.  Có 3 loại lặp cơ bản: • Lặp đơn giản • FOR • WHILE  Ngoài ra có thể sử dụng lệnh GOTO để lặp 7-15 Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng @NhamCT
  16. Lặp đơn giản  Cú pháp LOOP statement1; . . . EXIT [WHEN condition]; END LOOP; 7-16 Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng @NhamCT
  17. Vòng lặp đơn giản – ví dụ DECLARE countryid CHAR(5) := ‘00001’; loc_id NUMBER(4); counter NUMBER(2) := 1; new_city VARCHAR2(20) := 'Montreal'; BEGIN SELECT MAX(location_id) INTO loc_id FROM locations WHERE country_id = countryid; LOOP INSERT INTO locations VALUES((loc_id + counter), new_city, countryid); counter := counter + 1; EXIT WHEN counter > 3; END LOOP; END; 7-17 Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng @NhamCT
  18. Vòng lặp FOR  Cú pháp FOR counter IN [REVERSE] lower_bound..upper_bound LOOP statement1; statement2; . . . END LOOP; 7-18 Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng @NhamCT
  19. Vòng lặp FOR – ví dụ DECLARE countryid CHAR(5); loc_id NUMBER(4); new_city VARCHAR2(20) := 'Montreal'; BEGIN SELECT MAX(location_id) INTO loc_id FROM locations WHERE country_id = countryid; FOR i IN 1..3 LOOP INSERT INTO locations VALUES((loc_id + i), new_city, countryid ); END LOOP; END; 7-19 Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng @NhamCT
  20. Vòng lặp WHILE  Cú pháp WHILE condition LOOP statement1; statement2; . . . END LOOP; 7-20 Khoa Hệ thống thông tin Quản lý – Học viện Ngân hàng @NhamCT
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
9=>0