Bài giảng cơ sở dữ liệu nâng cao chương 5 nguyễn thị mỹ dung

10 3 0
Bài giảng cơ sở dữ liệu nâng cao chương 5   nguyễn thị mỹ dung

Đang tải... (xem toàn văn)

Thông tin tài liệu

Bài giảng CƠ SỞ DỮ LIỆU NÂNG CAO Số tc: 2; LT: 20; Btập: 10 GV: Nguyễn Thị Mỹ Dung Khối lớp: Đại học L2 Chương 5: Procedure, Function NỘI DUNG MÔN HỌC Chương Tổng quan CSDL hướng đối tượng Chương Tổng quan CSDL phân tán (4) Chương Cơ Oracle (4) Chương 4: Lập trình PL/SQL (4) Chương 5: Procedure, Function (4) Chương 6: Thiết kế đối tượng (6) Chương 7: Truy vấn CSDL HĐT (4) Chương 5: Procedure, Function Chương 5: Procedure, Function I Procedure II Function III Bài tập thực hành Chương 5: Procedure, Function I Procedure Giới thiệu Thủ tục chương trình để thực hành động cụ thể để tăng khả xử lý Có thể sử dụng nhiều lần, có tính bảo mật an tồn liệu cao Khơng có giá trị trả Khai báo CREATE [OR REPLACE] PROCEDURE tênthủtục [(dsáchthamsố)] IS [khai báo biến] BEGIN [EXCEPTION ] END; /*kết thúc thủ tục*/ Chương 5: Procedure, Function Procedure – khai báo (tt) - Từ khóa OR REPLACE để tự động xóa tạo thủ tục tên thủ tục tồn Ví dụ: CREATE OR REPLACE HienThiNgay (m number) IS … - Không dùng Varchar2(n) tham số truyền vào, kiểu liệu tham số truyền vào phải kiểu liệu không ràng buộc - Không thể áp dụng cho điều kiện thực nhóm (mệnh đề GROUP) Chương 5: Procedure, Function Procedure – khai báo (tt) Cú pháp chi tiết: 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 khối lệnh PL/SQL chương trình [EXCEPTION Phần ngoại lệ (nếu có) WHEN THEN [;] ] END; Chương 5: Procedure, Function Procedure (tt) Gọi thủ tục - Cú pháp gọi 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ố) Xóa thủ tục DROP PROCEDURE tênthủtục; Chương 5: Procedure, Function Procedure (tt) VD1: Tăng kinh phí cho đề tài DT004 CREATE OR REPLACE PROCEDURE Tang_kinhphi IS 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'; Chương 5: Procedure, Function 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; Chương 5: Procedure, Function Procedure – VD (tt) VD2: Thủ tục in ngày tương ứng với số truyền vào CREATE PROCEDURE P_Ngay (n IN NUMBER,m OUT NUMBER) IS CHAR(15); BEGIN IF n =1 THEN :='Sunday'; ELSIF n =2 THEN :='Monday'; ELSIF n =3 THEN :='Tuesday'; ELSIF n =4 THEN :='Wednesday'; ELSIF n =5 THEN :='Thursday'; ELSIF n =6 THEN :='Friday'; ELSIF n =7 THEN :='Saturday'; END IF; m:=n; dbms_output.put_line('Ngay truyen vao:' || ngay); END; Chương 5: Procedure, Function 10 ...NỘI DUNG MÔN HỌC Chương Tổng quan CSDL hướng đối tượng Chương Tổng quan CSDL phân tán (4) Chương Cơ Oracle (4) Chương 4: Lập trình PL/SQL (4) Chương 5: Procedure, Function (4) Chương 6:... Thiết kế đối tượng (6) Chương 7: Truy vấn CSDL HĐT (4) Chương 5: Procedure, Function Chương 5: Procedure, Function I Procedure II Function III Bài tập thực hành Chương 5: Procedure, Function... procedure_name [( [IN | OUT | IN OUT] [, [IN | OUT | IN OUT] [DEFAULT ]) ] IS [ < kiểud? ?liệu > [NULL | NOT NULL] [DEFAULT ]

Ngày đăng: 27/02/2023, 07:52

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan