PL/SQL là gì?

PL/SQL là viết tắt của ‘Procedural Language/Structured Query Language’.

PL/SQL là là một ngôn ngữ lập trình hướng thủ tục sử dụng cho Oracle SQL. Nó là một mở rộng của Oracle SQL.

Ngôn ngữ SQL có nhược điểm là không theo hướng thủ tục.Ngôn ngữ PL/SQL có ưu điểm so với ngôn ngữ SQL là nó ngôn ngữ lập trình hướng thủ tục.

Một chương trình PL/SQL bao gồm các thành phần như: khối (Block), Biến, Hằng, Kiểu dữ liệu (Data Type),  Mảng (Array), Hàm (Function), Thủ thục (Procedure), Package, Trigger và các câu điều kiện if else, vòng lặp (While, Loop, For Loop)…

PL/SQL là ngôn ngữ lập trình lý tưởng với các ứng dụng phần mềm sử dụng cơ sở dữ liệu Oracle.

Ngôn ngữ PL/SQL là ngôn ngữ lập trình cho cơ sở dữ liệu Oracle, nó cho phép thao tác với cơ sở dữ liệu Oracle rất linh hoạt và hữu ích.Bạn có thể truy vấn, lấy dữ liệu, xử lý dữ liệu và Debug gỡ lỗi chương trình PL/SQL đơn giản và dễ dàng.

 

Học PL/SQL cần những gì ?

Để có thể tiếp cận nhanh với PL/SQL bạn cần có một công cụ lập trình.Hiện nay có nhiều công cụ lập trình PL/SQL như : PL/SQL Developer, Toad, SQL Developer…Nhưng theo kinh nghiệm làm việc của tôi bạn nên sử dụng phần mềm PL/SQL Developer, vì đây là một công cụ trực quan làm việc với Oracle và để lập trình PL/SQL.

Ví dụ dưới đây là một chương trình thủ tục sử dụng ngôn ngữ PL/SQL để thao tác xử lý và Insert dữ liệu vào cơ sở dữ liệu Oracle.

Ví dụ

create or replace procedure p_Nhanvien_Insert(
  pv_NhanvienName in varchar2,
  pv_NhanvienAge in number,
  pv_NhanvienSalary in number,
  pv_NhanvienBirht in Date,
  pv_NhanvienPhone in varchar2,
  pv_NhanvienEmail in varchar2,
  pv_NhanvienDept in int,
  pv_Restult out varchar2
) is

--Khai báo biến pv_Count để đếm số lượng nhân viên.
pv_Count integer := 0;


begin
  pv_Restult := '';
  
  --Check kiểm tra số điện thoại của nhân viên
  select count(*) into pv_Count from HRM.nhanvien n where n.nhanvien_phone = pv_NhanvienPhone ;
  if pv_Count > 0 then
    pv_Restult := 'The Phone number was exited';
    return;
  end if;
  
  -- Insert dữ liệu vào bảng nhanvien của cơ sở dữ liệu HRM
  Insert into HRM.nhanvien(nhanvien_id,nhanvien_name, nhanvien_age, nhanvien_salary, nhanvien_birthday, nhanvien_phone, nhanvien_email, nhanvien_deptid)
  VALUES(HRM.SEQ_NHANVIEN.NEXTVAL, pv_NhanvienName, pv_NhanvienAge, pv_NhanvienSalary, pv_NhanvienBirht, pv_NhanvienPhone, pv_NhanvienEmail, pv_NhanvienDept) ;
  pv_Restult := 'OK';
   
  
exception
  when no_data_found then
    pv_Restult := 'Error Exception';
  
end p_Nhanvien_Insert;