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

[ad_1]

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.

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.

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.

— 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_INTEGERSố 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_INTEGERSố tự nhiên có dấu 32 bit nằm trong khoảng -2,147,483,648 tới 2,147,483,647.
BINARY_FLOATKiểu dấu chấm động số thực với độ chính xác đơn (Single-precision)
BINARY_DOUBLEKiể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 PRECISIONLoạ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).
FLOATLoạ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).
INTKiể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
INTEGERKiểu số nguyên, tiêu chuẩn ANSI IBM với độ chính xác 38 chữ số thập phân
SMALLINTSố nguyên từ -32768 –> 32767
REALKiể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
Numberv_Amount Number(15,2)v_Salary Number;
Integerv_Age Integer;
Floatv_Amount Float;
Double
Real

[ad_2]

Related Posts

Trò chơi xây nhà Lego

[ad_1] ContentsRelated posts:Giới thiệu game xây nhà Lego Xây nhà Lego thuộc dòng game 24h Online, game y8 một trò chơi mà mình nghĩ rằng những ai…

Game bói tình yêu hiện đại: Valentine’s Love Test

[ad_1]  ContentsRelated posts:Giới thiệu game bói tình yêu hiện đại Bói tình yêu hiện đại thuộc dòng game cho con trai, game bạn gái nơi mà…

Game xếp kẹo ngọt Online 4: Candy Rush Saga

[ad_1] ContentsRelated posts:Giới thiệu game xếp kẹo ngọt Online 4 Xếp kẹo ngọt Online 4 thuộc dòng game kỹ năng, game 4399 nơi mà các bạn có…

Game dấu ấn rồng thiêng: Super Hard Boss Fighter

[ad_1] ContentsRelated posts:Giới thiệu game dấu ấn rồng thiêng Dấu ấn rồng thiêng thuộc dòng game 24h, game Y8 nơi mà chúng ta sẽ cùng nhau tái…

Trò chơi Ben 10 diệt Alien

[ad_1] ContentsRelated posts:Giới thiệu game Ben 10 diệt Alien Ben 10 diệt Alien thuộc dòng game 1 người chơi, game 4399 nơi mà các bạn nhỏ sẽ…

Game phá hủy tháp Minecraft 3D: Minecraft 3D Online

[ad_1] ContentsRelated posts:Giới thiệu game phá hủy tháp Minecraft 3D Phá hủy tháp Minecraft 3D thuộc dòng game 1 người chơi, Vui 24h Online một trong những…

Leave a Reply