Danh mục tài liệu

Bài giảng Cơ sở dữ liệu Oracle: Chương 3 - GV. Dương Khai Phong

Số trang: 61      Loại file: pdf      Dung lượng: 768.37 KB      Lượt xem: 15      Lượt tải: 0    
Xem trước 7 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng Cơ sở dữ liệu Oracle: Chương 3 Ngôn ngữ thủ tục PL/SQL nhằm trình bày về giới thiệu Oracle, các công cụ cơ bản trong Oracle, công cụ Enterprise Manager (EM), công cụ SQL Plus, công cụ iSQLPlus, ngôn ngữ SQL, ngôn ngữ thủ tục PL/SQL, kiến trúc quản trị Oracle.
Nội dung trích xuất từ tài liệu:
Bài giảng Cơ sở dữ liệu Oracle: Chương 3 - GV. Dương Khai PhongTrường Đại học Công nghệ thông tin Bộ môn Hệ thống thông tinMôn học: Hệ quản trị CSDL Oracle GV: Dương Khai Phong Email: khaiphong@gmail.com 1 Nội dung môn học:1. Giới thiệu Oracle2. Các công cụ cơ bản trong Oracle • Công cụ Enterprise Manager (EM) • Công cụ SQL Plus • Công cụ iSQLPlus3. Ngôn ngữ SQL4. Ngôn ngữ thủ tục PL/SQL5. Kiến trúc quản trị Oracle 2 Phần 4:NGÔN NGỮ THỦ TỤC PL/SQL 31/ GIỚI THIỆU PL/SQL PL/SQL là sự kết hợp giữa SQL và các cấu trúc điều khiển, các thủ tục (function), thao tác con trỏ (cursor), xử lý ngoại lệ (exception) và các lệnh giao tác. Ngôn ngữ thủ tục PL/SQL (Procedural Language/SQL) của Oracle được dùng để xây dựng các ứng dụng. PL/SQL cho phép sử dụng tất cả lệnh thao tác dữ liệu gồm INSERT, DELETE, UPDATE và SELECT, COMMIT, ROLLBACK, SAVEPOINT, cấu trúc điều khiển như vòng lặp (for, while, loop), rẽ nhánh (if),…mà với SQL chúng ta không làm được. 42/ CẤU TRÚC PL/SQL DECLARE /*Phần Khai báo biến Block 1*/ --- Block 1 Các khai báo biến của Block 1 (Declarations) BEGIN Các câu lệnh thực hiện (Executable Statements) DECLARE /*Phần Khai báo biến Block 2*/ --- Block 2 Các khai báo biến của Block 2 (Declarations) BEGIN Các câu lệnh thực hiện (Executable Statements) EXCEPTION Các xử lý ngoại lệ (Exception Handlers) /*làm gì nếu lỗi xuất hiện bên trong Block 2*/ END --- End Block 2 EXCEPTION Các xử lý ngoại lệ (Exception Handlers) END; --- End Block 1 53/ KHAI BÁO BIẾN VÀ HẰNG Khai báo biến: mucluong NUMBER(5); Khai báo hằng: heso CONSTANT NUMBER(3,2) := 1.86; Với các kiểu dữ liệu trong Oracle như:NUMBER, CHAR, VARCHAR2, DATE,LONG,…hoặc PL/SQL cho phép như BOOLEAN. Ghi chú: Ký hiệu := được sử dụng như là toán tửgán. 63/ KHAI BÁO BIẾN, HẰNG VÀ XUẤT/NHẬP Gán biến và biểu thức: biến := biểu thức; Ví dụ: x:=UPPER(Nguyen); y:=100; mucluong:= mucluong + mucluong*10/100; Ví dụ: kq BOOLEAN; kq:= mucluong>3500000; Độ ưu tiên của toán tử: ** (phép lũy thừa), NOT, *, /,+, -, || (phép nối chuỗi), =, !=, , =, IS NULL, LIKE,BETWEEN, IN, AND, OR. 73/ KHAI BÁO BIẾN, HẰNG VÀ XUẤT/NHẬP(Các thuộc tính %TYPE và %ROWTYPE)1. Thuộc tính %TYPE Dùng để khai báo một biến mà nó tham chiếu đến một cột trong cơ sở dữ liệu. (có cấu trúc như một cột trong Table). Ví dụ: khai báo biến v_Manv có cùng kiểu dữ liệu với cột Manv trong bảng NHANVIEN v_Manv NHANVIEN.Manv%TYPE Khai báo có điểm thuận lợi là: kiểu dữ liệu chính xác của biến v_Manv không cần được biết, nếu định nghĩa của cột Manv trong bảng NHANVIEN bị thay đổi thì kiểu dữ liệu của biến v_Manv thay đổi tương ứng. 83/ KHAI BÁO BIẾN, HẰNG VÀ XUẤT/NHẬP (Các thuộc tính %TYPE và %ROWTYPE)2. Thuộc tính %ROWTYPE Dùng để khai báo một biến mà nó tham chiếu đến một dòng trong cơ sở dữ liệu (Có cấu trúc như một dòng trong Table). Ví dụ: khai báo biến v_nv có kiểu dữ liệu là một dòng trong bảng NHANVIEN v_nv NHANVIEN%ROWTYPE Khi truy xuất đến từng cột ta sử dụng giống như một bảng dữ liệu (trong trường hợp này chỉ gồm 1 record) tham chiếu đến một cột. Cú pháp: Tên-biến.Tên-cột VD: v_nv.HoTen 93/ KHAI BÁO BIẾN, HẰNG VÀ XUẤT/NHẬP XUẤT/NHẬP TRONG PL/SQL LỆNH XUẤT: Cú pháp: DBMS_OUTPUT.PUT_LINE (‘Nội dung); Lưu ý: trước khi thực hiện lệnh xuất ta phải chạy lệnh sau SET SERVEROUTPUT ON LỆNH NHẬP:Trong ORACLE, ta có 2 cách để nhập giá trị cho biến  Biến thay thế &: dấu & đặt trước biến. Biến được nhập giá trị lúc thực thi câu SQL. Khi chạy lệnh SQL trong môi trường SQL*Plus sẽ hiện ra dòng chữ -> nhập giá trị vào - Lưu ý: biến kiểu chuỗi, kiểu ngày đặt trong cặp dấu ‘ ’  Biến thay thế &&: dấu && đặt trước biến. Giá trị nhập vào được lưu trữ cho những lần sau. 103/ KHAI BÁO BIẾN, HẰNG VÀ XUẤT/NHẬP XUẤT/NHẬP TRONG PL/SQL Ví dụ: SET SERVEROUTPUT ON DECLARE x number; BEGIN x:=&x; dbms_output.put(‘Gia tri x =’); dbms ...