Pl/Sql Là Gì ? Sự Khác Nhau Giữa Oracle Và Sql Server Sự Khác Nhau Giữa Oracle Và Sql Server

Related Articles

Pl / Sql Là Gì ? Sự Khác Nhau Giữa Oracle Và Sql Server Sự Khác Nhau Giữa Oracle Và Sql Server Các lệnh PL/SQL cơ bản Các kiểu dữ liệu thông dụng và khai báo Con trỏ (Cursor) Thủ tục (Procedure) Package

PL/SQL (Procedural Language/Structured Query Language) là một ngôn ngữ lập trình 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.Các lệnh PL / SQL cơ bản Các kiểu tài liệu thông dụng và khai báo Con trỏ ( Cursor ) Thủ tục ( Procedure ) Packagelà một ngôn từ lập trình lập trình hướng thủ tục sử dụng cho. Nó là một lan rộng ra của

Bạn đang xem: Pl/Sql Là Gì ? Sự Khác Nhau Giữa Oracle Và Sql Server Sự Khác Nhau Giữa Oracle Và Sql Server

PL/SQL bao gồm các thành phần ngôn ngữ hướng thủ tục bao gồm điều kiện và vòng lặp. Nó cho phép khai báo hằng số và biến, thủ tục và các hàm, kiểu dữ liệu và biến của các kiểu dữ liệu, và các trigger. Nó có thể sử lý các ngoại lệ (lỗi tại thời gian chạy). Mảng cũng được hỗ trợ nâng cấp để sử dụng cho các tập hợp trong PL/SQL. Từ phiên bản 8 trở đi nó bao gồm thêm các tính năng hướng đối tượng. Nó có thể tạo một đơn vị PL/SQL như thủ tục, hàm, package, kiểu dữ liệu, triggers, những thứ được lưu trữ trong database được tái sử dụng bởi các ứng dụng bất kỳ giao tiếp với ứng dụng Oracle.

gồm có những thành phần ngôn từ hướng thủ tục gồm có điều kiện kèm theo và vòng lặp. Nó được cho phép khai báo hằng số và biến, thủ tục và những hàm, kiểu tài liệu và biến của những kiểu tài liệu, và những trigger. Nó hoàn toàn có thể sử lý những ngoại lệ ( lỗi tại thời hạn chạy ). Mảng cũng được tương hỗ tăng cấp để sử dụng cho những tập hợp trong. Từ phiên bản 8 trở đi nó gồm có thêm những tính năng hướng đối tượng người tiêu dùng. Nó hoàn toàn có thể tạo một đơn vịnhư thủ tục, hàm, package, kiểu tài liệu, triggers, những thứ được tàng trữ trong database được tái sử dụng bởi những ứng dụng bất kể tiếp xúc với ứng dụng Oracle .

Chú ý: Các hình minh họa dưới đây tôi sử dụng công cụ PL/SQL Developer phiên bản 8.x, tuy nhiên cũng không có khác biệt nếu bạn sử dụng PL/SQL Developer phiên bản 10.x hoặc một phiên bản khác.

Để 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. Theo kinh nghiệm làm việc của tôi bạn có thể sử dụng PL/SQL Developer, đây là một công cụ trực quan làm việc với Oracle và để lập trình PL/SQL.

Trong tài liệu này tôi sử dụng LearningSQL (Một database nhỏ dùng để hướng dẫn học SQL trong website o7planning.org). Bạn có thể tạo database này theo hướng dẫn dưới đây:

Mỗi lệnh SQL kềt thúc bằng dấu chấm phẩy (;)Các lệnh thuộc “ngôn ngữ định nghĩa dữ liệu” (Data Definition LanguageDDL) không được sử dụng trong PL/SQLLệnh SELECT.. INTO trả về nhiều dòng có thể gây ra exception ( > 1 dòng).Lệnh SELECT .. INTO không trả về dòng nào có thể gây ra exceptionCác lệnh thuộc “ngôn ngữ thao tác trên dữ liệu” (Data Manipulation Language – DML) có thể tác động trên nhiều dòng dữ liệu.Sử dụng toán tử := để giá giá trị cho một biến.

Để có thể tiếp cận nhanh vớibạn cần có một công cụ lập trình. Theo kinh nghiệm làm việc của tôi bạn có thể sử dụng, đây là một công cụ trực quan làm việc vớivà để lập trìnhTrong tài liệu này tôi sử dụng(Một database nhỏ dùng để hướng dẫn họctrong website). Bạn có thể tạo database này theo hướng dẫn dưới đây:Mỗi lệnhkềt thúc bằng dấu chấm phẩy (;)Các lệnh thuộc “ngôn ngữ định nghĩa dữ liệu” () không được sử dụng trongLệnhtrả về nhiều dòng có thể gây ra exception ( > 1 dòng).Lệnhkhông trả về dòng nào có thể gây ra exceptionCác lệnh thuộc “ngôn ngữ thao tác trên dữ liệu”có thể tác động trên nhiều dòng dữ liệu.Sử dụng toán tửđể giá giá trị cho một biến.

— Lệnh gán giá trị cho biếnx := 1;– Lệnh Insert:Insert into Department (Dept_Id, Dept_No, Dept_Name, Location) values (1, “D1”, “HR”, “Chicago”);– Bắt ngoại lệ:Begin Select Dept.Dept_Id into v_Dept_Id from Department Dep;Exception when too_many_rows then Dbms_Output.put_line(“Error:”||Sqlerrm);End;……

Declare — Phần khai báo – Không bắt buộc- — Khai báo các biến sử dụng trong phần thân v_Location Varchar2(100);Begin — Phần thân của khối lệnh — Đoạn lệnh thực hiện v_Location := “Chicago”; — ….Exception — Phần xử lý lỗi – Không bắt buộc — Bắt để sử lý các ngoại lệ khác nhau. When No_Data_Found Then — Ngoại lệ khi câu lệnh SELECT .. INTO không trả về dòng nào — (Không bắt buộc phải bắt) — Sử lý gì đó tại đây. — Hoặc để lệnh null nếu không cần sử lý. Null; When Too_Many_Rows Then — Ngoại lệ khi câu lệnh SELECT .. INTO trả về nhiều dòng — (Không bắt buộc phải bắt) Null; When Others Then — Các ngoại lệ khác Null;End;

Ở đây tôi giới thiệu tổng quan về các lệnh cơ bản của PL/SQL. Bạn sẽ hiểu hơn về nó thông qua các ví dụ ở các phần tiếp theo.

If v_Option = 1 Then v_Action := “Run”;Elsif v_Option = 2 Then v_Action := “Backup”;Elsif v_Option = 3 Then v_Action := “Stop”;Else v_Action := “Invalid”;End If;

*

*

*

Declare v_Result Number; — Khai báo một biến có giá trị 50 v_a Number := 50; — Khai báo một biến có giá trị 100 v_b Number := 100;Begin — In ra màn hình Console Dbms_Output.Put_Line(“v_a= ” || v_a); — In ra màn hình Console Dbms_Output.Put_Line(“v_b= ” || v_b); — Tính tổng v_Result := v_a + v_b; — In ra màn hình Console Dbms_Output.Put_Line(“v_Result= ” || v_Result);End;

Nhấn biểu tượng *

Data TypeDescription
PLS_INTEGER Số tự nhiên có dấu 32 bit nằm trong khoảng -2,147,483,648 tới 2,147,483,647.Xem thêm : Lao Động Hợp Đồng 68 Là Gì, Hợp Đồng 68 Có Phải Là Viên Chức Không
BINARY_INTEGER Số tự nhiên có dấu 32 bit nằm trong khoảng -2,147,483,648 tới 2,147,483,647.
BINARY_FLOAT Kiểu dấu chấm động số thực với độ chính xác đơn (Single-precision)
BINARY_DOUBLE Kiểu dấu chấm động số thực với độ chính xác gấp đôi (Double-precision)
NUMBER(prec, scale) Kiểu dấu chấm cố định (Fixed-point) với giá trị tuyệt đối từ 1E-130 tới (không bao gồm) 1.0E126. Một biến NUMBER cũng có thể mô tả 0.
DEC(prec, scale) Kiểu dấu chấm cố định, tiêu chuẩn ANSI với độ chính xác tối đa 38 số thâp phân.
DECIMAL(prec, scale) Kiểu dấu chấm cố định, tiêu chuẩn IBM với độ chính xác tối đa 38 số thập phân.
NUMERIC(pre, secale) Loại số thực (Floating type) với độ chính xác tối đa 38 số thập phân.
DOUBLE PRECISION Loại số chấm động, số thực, tiêu chuẩn ANSI với độ chính xác 126 số nhị phân (khoảng 38 số thập phân).
FLOAT Loại số chấm động, số thực tiêu chuẩn ANSI IBM với độ chính xác tối đa 126 số nhị phân (khoảng 38 số thập phân).
INT Kiểu số nguyên, tiêu chuẩn ANSI với độ chính xác tối đa 38 chữ số thập phân
INTEGER Kiểu số nguyên, tiêu chuẩn ANSI IBM với độ chính xác 38 chữ số thập phân
SMALLINT Số nguyên từ -32768 –> 32767
REAL Kiểu số chấm động, số thực, với độ chính xác tối đa 63 số nhị phân (Khoảng 18 số thập phân).
Kiểu số Khai báo sử dụng
Number v_Amount Number(15,2)v_Salary Number;
Integer v_Age Integer;
Float v_Amount Float;
Double
Real

Declare v_Result Number ; — Khai báo một biến có giá trị 50 v_a Number : = 50 ; — Khai báo một biến có giá trị 100 v_b Number : = 100 ; Begin — In ra màn hình hiển thị Console Dbms_Output. Put_Line ( ” v_a = ” | | v_a ) ; — In ra màn hình hiển thị Console Dbms_Output. Put_Line ( ” v_b = ” | | v_b ) ; — Tính tổng v_Result : = v_a + v_b ; — In ra màn hình hiển thị Console Dbms_Output. Put_Line ( ” v_Result = ” | | v_Result ) ; End ; Nhấn hình tượng

More on this topic

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Advertismentspot_img

Popular stories