![Phân tích tư tưởng của nhân dân qua đoạn thơ: Những người vợ nhớ chồng… Những cuộc đời đã hóa sông núi ta trong Đất nước của Nguyễn Khoa Điềm](https://thuvienso.net/upload/document/136415/phan-tich-tu-tuong-cua-nhan-dan-qua-doan-tho-039-039-nhung-nguoi-vo-nho-chong-nhung-cuoc-doi-da-hoa-song-nui-ta-039-039-trong-dat-nuoc-cua-nguyen-khoa-136415.jpg)
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 5 - Nguyễn Thị Mỹ Dung
Số trang: 29
Loại file: pdf
Dung lượng: 2.21 MB
Lượt xem: 10
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 5 Procedure, Trigger, Function cung cấp cho người học những kiến thức như: Procedure; Function; Trigger; Bài tập thực hành. Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 5 - Nguyễn Thị Mỹ Dung Bài giảngHQT Cơ sở dữ liệu (ORACLE)Số tc: 3; LT: 25; Btập: 20GV: Nguyễn Thị Mỹ Dung Khối lớp: Đại học L2 1 NỘI DUNG MÔN HỌC 1 Chương 1: Tổng quan về Oracle (2) 2 Chương 2: Cơ bản về Oracle (2)3 Chương 3: Truy vấn SQL (12)4 Chương 4: Lập trình PL/SQL (9) 5 Chương 5: Procedure, Trigger, Function (12) 6 Chương 6: Quản trị người dùng (4)7 Chương 7: Kết nối CSDL với Oracle (4) 2 Ch5: Procedure, Function, TriggerI. ProcedureII. FunctionIII. TriggerIV. Bài tập thực hành 3 I. Procedure 1. Giới thiệu Thủ tục là một chương trình con để thực hiện một hànhđộng cụ thể nào đó để tăng khả năng xử lý. Có thể sử dụng nhiều lần, có tính bảo mật và an toàn dữliệu cao. Không có giá trị trả về. 2. Khai báo CREATE [OR REPLACE] PROCEDURE tên-thủ tục [(dsáchthamsố)] IS [khai báo biến] BEGIN [EXCEPTION ] END; /*kết thúc thủ tục*/ 4 Procedure – khai báo (tt) - Từ khóa OR REPLACE để tự động xóa và tạomới thủ tục nếu tên thủ tục đó đã tồn tại. Ví dụ: CREATE OR REPLACE HienThiNgay (m number) IS …. - Không được dùng Varchar2(n) trong tham sốtruyền vào, kiểu dữ liệu tham số truyền vào phải làkiểu dữ liệu không ràng buộc. - Không thể áp dụng cho các điều kiện thực hiệntrên nhóm (mệnh đề GROUP). - 5 Procedure – khai báo (tt)Cú pháp đầy đủ:CREATE [OR REPLACE] PROCEDURE procedure_name[( [IN | OUT | IN OUT] [, [IN | OUT | IN OUT] [DEFAULT ]) ]IS [ < kiểudữliệu > [NULL | NOT NULL] [DEFAULT ] ;]BEGIN [;] -- Đây là khối lệnh PL/SQL trong chương trình [EXCEPTION --Phần ngoại lệ (nếu có) WHEN THEN [;] ]END; 6 Procedure (tt)3. Gọi thủ tục - Cú pháp gọi trong PL/SQL: Declare …. BEGIN Tênthủtục(danhsáchthamsố);*/ …. END;- Cú pháp gọi thủ tục từ SQL*Plus: SQL> EXECUTE Tênthủtục(danhsáchthamsố)4. Xóa thủ tục DROP PROCEDURE tênthủtục; 7 Procedure (tt)VD1: Tăng kinh phí cho đề tài DT004CREATE OR REPLACE PROCEDURE Tang_kinhphiAS kp_old INT; kp_new INT;BEGIN SELECT KINHPHI INTO kp_old FROM DETAI WHERE MADT=DT004; IF SQL%FOUND THEN kp_new := kp_old + kp_old*10/100; UPDATE DETAI SET KINHPHI = kp_new WHERE MADT=DT004; 8 Procedure – VD1 (tt) IF SQL%ROWCOUNT0 THEN DBMS_OUTPUT.PUT_LINE (De tai DT004 duoc tang); END IF; END IF; EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE (Khong tim thay de tai nay!); END; Thực thi thủ tục: Begin TANG_kinhphi; end; 9 Procedure – VD (tt)VD2: Thủ tục in ra ngày tương ứng với số truyền vàoCREATE PROCEDURE P_Ngay (n IN NUMBER,m OUT NUMBER) ISngay CHAR(15);BEGIN IF n =1 THEN ngay :=Sunday; ELSIF n =2 THEN ngay :=Monday; ELSIF n =3 THEN ngay :=Tuesday; ELSIF n =4 THEN ngay :=Wednesday; ELSIF n =5 THEN ngay :=Thursday; ELSIF n =6 THEN ngay :=Friday; ELSIF n =7 THEN ngay :=Saturday; END IF; m:=n; dbms_output.put_line(Ngay truyen vao: || ngay);END; 10 Procedure – VD2 (tt)--Chạy thủ tục với tham số raDECLARE M NUMBER;BEGIN P_NGAY(5,M); DBMS_OUTPUT.PUT_LINE(THAM SO RA:|| M);END;-- Truyền trực tiếp tham số raDECLARE M NUMBER;BEGIN P_NGAY(5,7); /* Cho nhan xet???? */ DBMS_OUTPUT.PUT_LINE(THAM SO RA:|| M);END; 11 Procedure – VD2 (tt)--Truyền cả hai tham sốDECLARE so1 NUMBER; so2 NUMBER;BEGIN so1:=4; P_NGAY(so1,so2); DBMS_OUTPUT.PUT_LINE(so1); DBMS_OUTPUT.PUT_LINE(so2);END;--Kết quả in ra? 12 Procedure – VD (tt)VD3: Tạo thủ tục kiểm tra khoá chính khi thêm sinh viênCreate Procedure THEM_SINHVIEN (v_MASV in CHAR, v_HOTENSV in varchar2, v_NAMSINH in INT, v_QUEQUAN in varchar2, v_HOCLUC in FLOAT)As DEM int;Begin select count(*) into DEM from SINHVIEN where MASV = v_MASV; if ( DEM=1) then DBMS_Output.Put_ ...
Nội dung trích xuất từ tài liệu:
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 5 - Nguyễn Thị Mỹ Dung Bài giảngHQT Cơ sở dữ liệu (ORACLE)Số tc: 3; LT: 25; Btập: 20GV: Nguyễn Thị Mỹ Dung Khối lớp: Đại học L2 1 NỘI DUNG MÔN HỌC 1 Chương 1: Tổng quan về Oracle (2) 2 Chương 2: Cơ bản về Oracle (2)3 Chương 3: Truy vấn SQL (12)4 Chương 4: Lập trình PL/SQL (9) 5 Chương 5: Procedure, Trigger, Function (12) 6 Chương 6: Quản trị người dùng (4)7 Chương 7: Kết nối CSDL với Oracle (4) 2 Ch5: Procedure, Function, TriggerI. ProcedureII. FunctionIII. TriggerIV. Bài tập thực hành 3 I. Procedure 1. Giới thiệu Thủ tục là một chương trình con để thực hiện một hànhđộng cụ thể nào đó để tăng khả năng xử lý. Có thể sử dụng nhiều lần, có tính bảo mật và an toàn dữliệu cao. Không có giá trị trả về. 2. Khai báo CREATE [OR REPLACE] PROCEDURE tên-thủ tục [(dsáchthamsố)] IS [khai báo biến] BEGIN [EXCEPTION ] END; /*kết thúc thủ tục*/ 4 Procedure – khai báo (tt) - Từ khóa OR REPLACE để tự động xóa và tạomới thủ tục nếu tên thủ tục đó đã tồn tại. Ví dụ: CREATE OR REPLACE HienThiNgay (m number) IS …. - Không được dùng Varchar2(n) trong tham sốtruyền vào, kiểu dữ liệu tham số truyền vào phải làkiểu dữ liệu không ràng buộc. - Không thể áp dụng cho các điều kiện thực hiệntrên nhóm (mệnh đề GROUP). - 5 Procedure – khai báo (tt)Cú pháp đầy đủ:CREATE [OR REPLACE] PROCEDURE procedure_name[( [IN | OUT | IN OUT] [, [IN | OUT | IN OUT] [DEFAULT ]) ]IS [ < kiểudữliệu > [NULL | NOT NULL] [DEFAULT ] ;]BEGIN [;] -- Đây là khối lệnh PL/SQL trong chương trình [EXCEPTION --Phần ngoại lệ (nếu có) WHEN THEN [;] ]END; 6 Procedure (tt)3. Gọi thủ tục - Cú pháp gọi trong PL/SQL: Declare …. BEGIN Tênthủtục(danhsáchthamsố);*/ …. END;- Cú pháp gọi thủ tục từ SQL*Plus: SQL> EXECUTE Tênthủtục(danhsáchthamsố)4. Xóa thủ tục DROP PROCEDURE tênthủtục; 7 Procedure (tt)VD1: Tăng kinh phí cho đề tài DT004CREATE OR REPLACE PROCEDURE Tang_kinhphiAS kp_old INT; kp_new INT;BEGIN SELECT KINHPHI INTO kp_old FROM DETAI WHERE MADT=DT004; IF SQL%FOUND THEN kp_new := kp_old + kp_old*10/100; UPDATE DETAI SET KINHPHI = kp_new WHERE MADT=DT004; 8 Procedure – VD1 (tt) IF SQL%ROWCOUNT0 THEN DBMS_OUTPUT.PUT_LINE (De tai DT004 duoc tang); END IF; END IF; EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE (Khong tim thay de tai nay!); END; Thực thi thủ tục: Begin TANG_kinhphi; end; 9 Procedure – VD (tt)VD2: Thủ tục in ra ngày tương ứng với số truyền vàoCREATE PROCEDURE P_Ngay (n IN NUMBER,m OUT NUMBER) ISngay CHAR(15);BEGIN IF n =1 THEN ngay :=Sunday; ELSIF n =2 THEN ngay :=Monday; ELSIF n =3 THEN ngay :=Tuesday; ELSIF n =4 THEN ngay :=Wednesday; ELSIF n =5 THEN ngay :=Thursday; ELSIF n =6 THEN ngay :=Friday; ELSIF n =7 THEN ngay :=Saturday; END IF; m:=n; dbms_output.put_line(Ngay truyen vao: || ngay);END; 10 Procedure – VD2 (tt)--Chạy thủ tục với tham số raDECLARE M NUMBER;BEGIN P_NGAY(5,M); DBMS_OUTPUT.PUT_LINE(THAM SO RA:|| M);END;-- Truyền trực tiếp tham số raDECLARE M NUMBER;BEGIN P_NGAY(5,7); /* Cho nhan xet???? */ DBMS_OUTPUT.PUT_LINE(THAM SO RA:|| M);END; 11 Procedure – VD2 (tt)--Truyền cả hai tham sốDECLARE so1 NUMBER; so2 NUMBER;BEGIN so1:=4; P_NGAY(so1,so2); DBMS_OUTPUT.PUT_LINE(so1); DBMS_OUTPUT.PUT_LINE(so2);END;--Kết quả in ra? 12 Procedure – VD (tt)VD3: Tạo thủ tục kiểm tra khoá chính khi thêm sinh viênCreate Procedure THEM_SINHVIEN (v_MASV in CHAR, v_HOTENSV in varchar2, v_NAMSINH in INT, v_QUEQUAN in varchar2, v_HOCLUC in FLOAT)As DEM int;Begin select count(*) into DEM from SINHVIEN where MASV = v_MASV; if ( DEM=1) then DBMS_Output.Put_ ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Hệ quản trị cơ sở dữ liệu Hệ quản trị cơ sở dữ liệu Cơ sở dữ liệu Khai báo biến Truyền cả hai tham số Khai báo Cú phápTài liệu liên quan:
-
62 trang 410 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 387 6 0 -
13 trang 326 0 0
-
Phân tích thiết kế hệ thống - Biểu đồ trạng thái
20 trang 313 0 0 -
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 312 0 0 -
Giáo án Tin học lớp 12 (Trọn bộ cả năm)
180 trang 297 0 0 -
Tài liệu học tập Tin học văn phòng: Phần 2 - Vũ Thu Uyên
85 trang 284 1 0 -
Thực hiện truy vấn không gian với WebGIS
8 trang 272 0 0 -
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 253 0 0 -
Giáo trình về dữ liệu và các mô hình cơ sở dữ liệu
62 trang 213 0 0