Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
291 KB
Nội dung
PACKAGE Xây dựng package Nội dung Tạo Package Gọi package Xóa Package Định nghĩa package Định nghĩa package Oracle Package nhóm gồm nhiều thành phần hàm, thủ tục, biến, hằng, cursors, hay kiểu liệu người dùng tự khai báo….Những thành phần gom chung lại đơn vị xử lý package để thực chức Vínăng dụ - Gói UTL_FILE : Cho phép truy xuất tới file với lệnh PL/SQL - Gói DBMS_OUTPUT: Kết xuất giá trị trả từ hàm, thủ tục,… … Giới thiệu Package Cấu trúc package Một package cấu trúc làm hai phần - Phần mô tả (specification): Định nghĩa giao tiếp có package với bên - Phần thân (body): Là cài đặt cho giao tiếp có phần mơ tả Giới thiệu Package Các ưu điểm Package Tăng tính phân nhỏ thành phần Nâng cao hiệu suất sử dụng Che dấu thông tin Đơn giản thiết kế ứng dụng Cho phép thực tải Lợi ích việc sử dụng Package Cho phép thực tải Khả overloading (nạp chồng) điểm mạnh package Đặc điểm khơng có hàm hay thủ tục tạo tiêng lẻ sở liệu ( lệnh create procedure hay create function) Overloading đặc biệt hữu ích bạn muốn xử lý trường (field) bảng với nhiều kiểu liệu khac Dưới ví dụ cài đặt hàm overloading package Lợi ích việc sử dụng Package Ẩn dấu thơng tin Bạn định thành phần liệu (hay hàm) phần đặc tả phép sử dụng chung (public) có tác dụng riêng (private) bên package VD package chương trình bao gồm hàm Addrec, NewRec, DeleteRec, Checkrec có hàm đầu khai báo public, riêng hàm checkRec khai báo private, theo cach lập trình viên khác sử dụng package bạn thiết kế không thấy hàm chechRec Lợi ích việc sử dụng Package Đơn gian thiết kế ứng dụng Mặc dù phần đặc tả Package bao gồm nhiều thành phần biến, hằng, khai báo hàm, thủ tục hay kiểu liệu người tự định nghĩa, thiết kế phần thân (body) không bắt buộc phải cài đặt đầy thành phần khai báo phần đặc tả Cơ chế tác biệt giúp cho phần đặc tả phần thân package thiết kế không bị phụ thuộc lẫn Hơn phần thân package biên dịch độc lập với phần đặc tả, nhà phát triển dễ dàng dị lỗi, kiểm tra hay mở rộng phần thân cho package bảo dảm giao tiếp cung cấp cho ứng dụng phần đặc tả không thay đổi Một số khái niệm cần ý Public variable: biến mà ứng dụng bên ngồi tham chiếu tới Public procedure: bao gồm hàm, thủ tục package triệu gọi từ ứng dụng bên Global variable: biến khai báo toàn package, ứng dụng bên không tham chiếu tới biến Một số khái niệm cần ý Public procedure: bao gồm hàm, thủ tục package triệu gọi từ ứng dụng bên Private procedure: thủ tục có package triệu gọi hàm hay thủ tục khác package mà Public procedure: bao gồm hàm, thủ tục package triệu gọi từ ứng dụng bên Private procedure: thủ tục có package triệu gọi hàm Xây dựng Package Khai báo phần mô tả package CREATE [OR REPLACE] PACKAGE package_name IS/AS Type and item declarations Subprogram specifications END package_name; Với: - package_name: Tên package - Type and item declarations: Phần khai báo biến, hằng, cursor toàn package - subprogram specifications: Khai báo hàm, thủ tục PL/SQL Định nghĩa package Ví dụ CREATE OR REPLACE PACKAGE MANAGE_STUDENT AS /* Type and item declarations */ ID NUMBER(10); Last_name VARCHAR2(30); First_name VARCHAR2(30); /* Subprogram specifications */ Function insert_Table( Last_name_in VARCHAR2, First_name_in VARCHAR2) Return NUMBER; Provedure view_Table( Last_name_in VARCHAR2, First_name_in VARCHAR2); End MANAGE_STUDENT Xây dựng Package Ví dụ CREATE or REPLACE PACKAGE Hello as Khai báo biến có Khai báo thủ tục, hàm, trỏ có procedure hello; End Hello ; Xây dựng Package Các quy tắc thân package Phải có so khớp tuyệt đối giữa, cursor, tiêu đề procedure, function nhưngc định nghĩa phần mô tả package với phần thân package Không lặp lại phần khai báo thân biến, ngoại lệ khai báo phần mô tả Bất kỳ thành phần khái báo phần mô tả tham chiếu phần thân Xây dựng Package Cú pháp khai báo phần thân package CREATE [OR REPLACE] PACKAGE BODY package_name IS/AS Private type and item declarations: Subprogram bodies: END package_name; Với: package_name: Tên package type and item declarations : Phần khai báo biến, hằng, cursor, ngoại lệ kiểu subprogram specifications: Khai báo hàm, thủ tục PL/SQL Xây dựng Package Vi du CREATE or REPLACE PACKAGE BODY Hello as procedure hello is begin dbms_output.put_line(' chao cac ban!'); end; End Hello ; Xây dựng Package Qui tắc gọi phần tử gói Tên_gói.Tên_phần_tử package_name.type_name package_name.item_name package_name.subprogram_name package_name.call_spec_name Xây dựng Package Xóa gói Huỷ phần package DROP PACKAGE Tên package; Huỷ phần package body DROP PACKAGE BODY DROP PACKAGE Hello; DROP PACKAGE BODY Tên package; Ví dụ: Hello;