Bài giảng Cơ sở dữ liệu quan hệ và SQL: Chương 9 - CĐ CNTT Hữu nghị Việt Hàn
lượt xem 15
download
Bài giảng Cơ sở dữ liệu quan hệ và SQL: Chương 9 ngôn ngữ thủ tục PL/SQL sẽ giới thiệu về con trỏ, thủ tục, hàm, quản lý các đổi tượng trong PL/SQL
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 quan hệ và SQL: Chương 9 - CĐ CNTT Hữu nghị Việt Hàn
- Chương 9 NGÔN NGỮ THỦ TỤC - PL/SQL - Lý thuyết: 6 tiết - Thực hành: 6 tiết Chương 9. Ngôn ngữ thủ tục –PL/SQL 9-1
- NGÔN NGỮ THỦ TỤC – PL/SQL 9.1 Giới thiệu PL/SQL 9.2 Con trỏ (Cursor) 9.3 Thủ tục và hàm 9.4 Quản lý đối tượng lớn Chương 9. Ngôn ngữ thủ tục –PL/SQL 9-2
- Giới thiệu PL/SQL - Mở rộng của SQL - Mã PL/SQL lưu trữ trực tiếp trong csdl - Giao tiếp với csdl cho phép tích hợp lệnh SQL và các ngôn ngữ lập trình. sử dụng cả trong cơ sở dữ liệu và lập trình ứng dụng. dùng để kết hợp các lệnh xử lý chuyển tác. hỗ trợ nhiều thủ tục hơn SQL. đơn vị mã lệnh PL/SQL là dạng khối (Begin… End). Chương 9. Ngôn ngữ thủ tục –PL/SQL 9-3
- Giới thiệu PL/SQL Khai báo biến Identifier [CONSTANT] datatype [NOT NULL] [:=| DEFAULT expr] Ví dụ: V_Hiredate DATE; V_DeptNo NUMBER(3) NOT NULL := 10; V_Loc VARCHAR2(13) := ‘Atlanta’; Chương 9. Ngôn ngữ thủ tục –PL/SQL 9-4
- Giới thiệu PL/SQL - Khai báo khối [DECLARE Khai báo biến, con trỏ,…] BEGIN - Lệnh SQL; - Lệnh PL/SQL; [EXCEPTION Xử lý ngoại lệ xảy ra;] END; Chương 9. Ngôn ngữ thủ tục –PL/SQL 9-5
- Giới thiệu PL/SQL Ví dụ: DECLARE v VARCHAR2(5); BEGIN SELECT Ename INTO v FROM Emp; EXCEPTION WHEN others THEN Message(SQLERRM); END; Chương 9. Ngôn ngữ thủ tục –PL/SQL 9-6
- Giới thiệu PL/SQL Ví dụ: Lấy dữ liệu cột DeptId và cột Loc của phòng SALES trong bảng Dept đưa vào hai biến v_deptno và v_loc. Nếu có lỗi xuất hiện thì xuất dòng thông báo mã lỗi ra màn hình. Chương 9. Ngôn ngữ thủ tục –PL/SQL 9-7
- Giới thiệu PL/SQL DECLARE v_deptno NUMBER(2); v_loc VARCHAR2(15); BEGIN SELECT DeptId, Loc INTO v_deptno, v_loc FROM Dept WHERE Dname = 'SALES'; EXCEPTION WHEN others THEN Message(SQLERRM); END; Chương 9. Ngôn ngữ thủ tục –PL/SQL 9-8
- Giới thiệu PL/SQL Thuộc tính %Type - %Type sử dụng khi lưu trư˜ giá trị nhận được từ một bảng - đặt %Type ngay sau tên bảng và tên cột identifier Table.column%Type; Ví dụ: DECLARE v_deptno Dept.DeptNo%Type; v_loc VARCHAR2(15); v_name Dept.Dname%Type; Chương 9. Ngôn ngữ thủ tục –PL/SQL 9-9
- Giới thiệu PL/SQL - Một số chú ý PL/SQL không hỗ trợ các kiểu dữ liệu mảng. Biến phải được khái báo trước khi tham chiếu đến. Kiểu dữ liệu trong phần khai báo có thể có hoặc không. Trong một khối lệnh các biến không được trùng tên. Tên biến không được trùng với tên cột của bảng dư˜ liệu sử dụng trong khối. Khởi tạo biến phải chỉ rõ như NOT NULL, CONSTANT. Khai báo mỗi biến trên 1 hàng. Khởi tạo giá trị cho biến bằng cách sử dụng phép gán (:=) hoặc từ khóa DEFAULT Chương 9. Ngôn ngữ thủ tục –PL/SQL 9 - 10
- Giới thiệu PL/SQL Các kiểu dữ liệu thông dụng CHAR [(max_lenght)] DATE VARCHAR2 (max_lenght) TIMESTAMP LONG TIMESTAMP WITH TIME LONG RAW ZONE NUMBER[(precision, scale)] TIMESTAMP WITH LOCAL BINARY_INTEGER TIME ZONE PLS_INTEGER INTERVAL YEAR TO MONTH BOOLEAN INTERVAL DAY TO SECOND Chương 9. Ngôn ngữ thủ tục –PL/SQL 9 - 11
- Giới thiệu PL/SQL Khối lồng nhau và phạm vi biến Chương 9. Ngôn ngữ thủ tục –PL/SQL 9 - 12
- Giới thiệu PL/SQL - Các phép toán Logic Toán học Ghép nối (Concatenation) Số mũ (**) Dùng dấu ngoặc đơn để điều khiển thứ tự ưu tiên. Ví dụ: Tăng biến đếm cho vòng lặp. v_count := v_count + 1; Chương 9. Ngôn ngữ thủ tục –PL/SQL 9 - 13
- Giới thiệu PL/SQL - Câu lệnh SQL trong PL/SQL Một số điểm cần lưu ý Cần phần biệt từ khóa END của khối lệnh và END của câu lệnh điều khiển chuyển tác. PL/SQL không hô˜ trợ trực tiếp các câu lệnh ngôn ngư˜ định nghĩa dư˜ liệu (DDL) như CREATE TABLE, ALTER TABLE, DROP TABLE. PL/SQL không hô˜ trợ các câu lệnh ngôn ngư˜ điều khiển dư˜ liệu (DCL) như GRANT, REVOKE. Chương 9. Ngôn ngữ thủ tục –PL/SQL 9 - 14
- Giới thiệu PL/SQL - Câu lệnh SELECT trong PL/SQL SELECT select_list INTO {variable [, variable]…| record_name} FROM table [WHERE condition]; Chương 9. Ngôn ngữ thủ tục –PL/SQL 9 - 15
- Giới thiệu PL/SQL - Câu lệnh SELECT trong PL/SQL Ví dụ: Lấy dư˜ liệu cột DeptId và cột Loc của phòng SALES trong bảng Dept. DECLARE v_deptno NUMBER(4); v_loc_id Dept.loc_id%Type; BEGIN SELECT Deptid, Locid INTO v_deptno, v_loc_id FROMDept WHERE Dname=‘Sales’; … END; Chương 9. Ngôn ngữ thủ tục –PL/SQL 9 - 16
- Giới thiệu PL/SQL - Chèn dữ liệu Ví dụ: Thêm một nhân viên vào trong cơ sở dữ liệu. … BEGIN INSERT INTO Emp (Empid, Fname, Email, Hireday, Jobid, Salary) VALUES (emp_seq.NEXTVAL, ‘Ruth’, ‘Roes@dsc.com’, sysdate, ‘SALES’, 4000); END; Chương 9. Ngôn ngữ thủ tục –PL/SQL 9 - 17
- Giới thiệu PL/SQL - Cập nhật dữ liệu Ví dụ: Tăng lương thêm $100 cho những nhân viên có mã công việc là ST_CLERKS. DECLARE v_sal_increase Emp.Salary%TYPE := 100; BEGIN UPDATE Emp SET Salary = Salary + v_sal_increase WHERE Jobid = ‘ST_CLERK’; END; Chương 9. Ngôn ngữ thủ tục –PL/SQL 9 - 18
- Giới thiệu PL/SQL - Xóa dư˜ liệu Ví dụ: Xóa những hàng có Job_id là ST_CLERKS. DECLARE v_name Emp.Job_id%TYPE := ‘ST_CLERKS’; BEGIN DELETE FROM Emp WHERE Job_id = v_name; END; Chương 9. Ngôn ngữ thủ tục –PL/SQL 9 - 19
- Giới thiệu PL/SQL - Câu lệnh kết hợp Ví dụ: Chèn hoặc cập nhật dữ liệu trong bảng copy_emp phù hợp với bảng emp. DECLARE v_empno emp.Emp_id%TYPE:=100; BEGIN MERGE INTO copy_emp c USING Emp e ON (c.Emp_id=v_empno) WHEN MATCHED THEN UPDATE SET c.Emp_id=e.Emp_id, c.Ename=e.Ename c.Job_id=e.Job_id, c.salary=e.salary WHEN NOT MATCHED THEN INSERT VALUES(e.Empid, e.fname, e.Hireday, e.Jobid, e.salary, e.manageid); END; Chương 9. Ngôn ngữ thủ tục –PL/SQL 9 - 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 | 169 | 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 | 103 | 4
-
Bài giảng Cơ sở dữ liệu (Database) - Chương 1: Các khái niệm cơ bản về hệ cơ sở dữ liệu
34 p | 69 | 3
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