Con trỏ đến các đối tượng lớn được lưu trữ riêng biệt với các mục dữ liệu khác, chẳng hạn như văn bản, hình ảnh đồ họa, video clip và dạng sóng âm thanh.
3
Composite
Các mục dữ liệu có các thành phần bên trong có thể được truy cập riêng lẻ. Ví dụ, bộ sưu tập và bản ghi.
4
Tài liệu tham khảo
Con trỏ đến các mục dữ liệu khác.
Kiểu dữ liệu vô hướng và kiểu con PL/SQL
Các kiểu dữ liệu vô hướng và kiểu con PL/SQL thuộc các danh mục sau:
S.Không
Loại ngày & Mô tả
1
Numeric
Các giá trị số mà các phép toán số học được thực hiện.
2
Character
Giá trị chữ và số đại diện cho các ký tự đơn hoặc chuỗi ký tự.
3
Boolean
Các giá trị logic mà các phép toán logic được thực hiện.
4
Datetime
Ngày và giờ.
PL/SQL cung cấp các kiểu con của kiểu dữ liệu. Ví dụ, kiểu dữ liệu NUMBER có một kiểu con được gọi là INTEGER. Bạn có thể sử dụng các kiểu con trong chương trình PL/SQL của mình để làm cho kiểu dữ liệu tương thích với kiểu dữ liệu trong các chương trình khác trong khi nhúng mã PL/SQL vào chương trình khác, chẳng hạn như chương trình Java.
Bảng sau liệt kê các kiểu dữ liệu số được xác định trước PL/SQL và các kiểu con của chúng -
S.No
Loại dữ liệu & Mô tả
1
PLS_INTEGER
Số nguyên có dấu trong phạm vi -2,147,483,648 đến 2,147,483,647, được biểu diễn bằng 32 bit
2
BINARY_INTEGER
Số nguyên có dấu trong phạm vi -2,147,483,648 đến 2,147,483,647, được biểu diễn bằng 32 bit
3
BINARY_FLOAT
Số dấu phẩy động định dạng IEEE 754 chính xác một lần
4
BINARY_DOUBLE
Số dấu phẩy động định dạng IEEE 754 chính xác gấp đôi
5
NUMBER [chính xác, tỷ lệ]
Số dấu phẩy cố định hoặc dấu phẩy động có giá trị tuyệt đối trong phạm vi 1E-130 đến [nhưng không bao gồm] 1.0E126. Một biến NUMBER cũng có thể đại diện cho 0
6
DEC [chính xác, quy mô]
Loại điểm cố định cụ thể ANSI với độ chính xác tối đa là 38 chữ số thập phân
7
DECIMAL [chính xác, tỷ lệ]
Loại điểm cố định cụ thể của IBM với độ chính xác tối đa là 38 chữ số thập phân
8
NUMERIC [pre, secale]
Loại nổi với độ chính xác tối đa là 38 chữ số thập phân
9
DOUBLE PRECISION
Loại dấu phẩy động cụ thể ANSI với độ chính xác tối đa là 126 chữ số nhị phân [khoảng 38 chữ số thập phân]
10
FLOAT
ANSI và kiểu dấu phẩy động cụ thể của IBM với độ chính xác tối đa là 126 chữ số nhị phân [khoảng 38 chữ số thập phân]
11
INT
Loại số nguyên cụ thể ANSI với độ chính xác tối đa là 38 chữ số thập phân
12
INTEGER
Kiểu số nguyên cụ thể của ANSI và IBM với độ chính xác tối đa là 38 chữ số thập phân
13
SMALLINT
Kiểu số nguyên cụ thể của ANSI và IBM với độ chính xác tối đa là 38 chữ số thập phân
14
REAL
Loại dấu phẩy động với độ chính xác tối đa là 63 chữ số nhị phân [khoảng 18 chữ số thập phân]
Sau đây là một khai báo hợp lệ -
DECLARE
num1 INTEGER;
num2 REAL;
num3 DOUBLE PRECISION;
BEGIN
null;
END;
/
Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:
PL/SQL procedure successfully completed
Kiểu dữ liệu ký tự PL/SQL và kiểu con
Sau đây là chi tiết về các kiểu dữ liệu ký tự được xác định trước PL/SQL và các kiểu con của chúng:
S.No
Loại dữ liệu & Mô tả
1
CHAR
Chuỗi ký tự có độ dài cố định với kích thước tối đa là 32,767 byte
2
VARCHAR2
Chuỗi ký tự có độ dài thay đổi với kích thước tối đa là 32,767 byte
3
RAW
Chuỗi nhị phân hoặc byte có độ dài thay đổi với kích thước tối đa là 32,767 byte, không được giải thích bằng PL/SQL
4
NCHAR
Chuỗi ký tự quốc gia có độ dài cố định với kích thước tối đa là 32,767 byte
5
NVARCHAR2
Chuỗi ký tự quốc gia có độ dài thay đổi với kích thước tối đa là 32,767 byte
6
LONG
Chuỗi ký tự có độ dài thay đổi với kích thước tối đa là 32.760 byte
7
LONG RAW
Chuỗi nhị phân hoặc byte có độ dài thay đổi với kích thước tối đa là 32.760 byte, không được giải thích bằng PL/SQL
8
ROWID
Định danh hàng vật lý, địa chỉ của một hàng trong một bảng thông thường
9
UROWID
Định danh hàng chung [định danh hàng vật lý, lôgic hoặc ngoại lai]
Các kiểu dữ liệu Boolean PL/SQL
Kiểu dữ liệu BOOLEAN lưu trữ các giá trị logic được sử dụng trong các phép toán logic. Các giá trị lôgic là các giá trị Boolean TRUE và FALSE và giá trị NULL .
Tuy nhiên, SQL không có kiểu dữ liệu tương đương với BOOLEAN. Do đó, các giá trị Boolean không thể được sử dụng trong:
- Câu lệnh SQL
- Các hàm SQL tích hợp [chẳng hạn như TO_CHAR ]
- Các hàm PL/SQL được gọi từ các câu lệnh SQL
PL/SQL kiểu ngày giờ và khoảng thời gian
Loại dữ liệu DATE được sử dụng để lưu trữ lịch ngày dài cố định, bao gồm thời gian trong ngày tính bằng giây kể từ nửa đêm. Ngày có hiệu lực từ ngày 1 tháng 1 năm 4712 trước Công nguyên đến ngày 31 tháng 12 năm 9999 sau Công nguyên.
Định dạng ngày mặc định được đặt bởi tham số khởi tạo Oracle NLS_DATE_FORMAT. Ví dụ: mặc định có thể là 'DD-MON-YY', bao gồm một số có hai chữ số cho ngày trong tháng, chữ viết tắt của tên tháng và hai chữ số cuối cùng của năm. Ví dụ: 01-OCT-12.
Mỗi DATE bao gồm thế kỷ, năm, tháng, ngày, giờ, phút và giây. Bảng sau đây hiển thị các giá trị hợp lệ cho mỗi trường:
Tên trường
Giá trị ngày giờ hợp lệ
Giá trị khoảng thời gian hợp lệ
YEAR
-4712 đến 9999 [không bao gồm năm 0]
Mọi số nguyên khác không
MONTH
01 đến 12
0 đến 11
DAY
01 đến 31 [giới hạn bởi các giá trị của THÁNG và NĂM, theo quy tắc của lịch cho ngôn ngữ]
Mọi số nguyên khác không
HOUR
00 đến 23
0 đến 23
MINUTE
00 đến 59
0 đến 59
SECOND
00 đến 59,9 [n], trong đó 9 [n] là độ chính xác của giây phân số thời gian
0 đến 59,9 [n], trong đó 9 [n] là độ chính xác của khoảng phân số giây
TIMEZONE_HOUR
-12 đến 14 [phạm vi có thể thay đổi thời gian tiết kiệm ánh sáng ban ngày]
Không áp dụng
TIMEZONE_MINUTE
00 đến 59
Không áp dụng
TIMEZONE_REGION
Tìm thấy trong chế độ xem hiệu suất động V $ TIMEZONE_NAMES
Không áp dụng
TIMEZONE_ABBR
Tìm thấy trong chế độ xem hiệu suất động V $ TIMEZONE_NAMES
Không áp dụng
Kiểu dữ liệu đối tượng lớn PL/SQL [LOB]
Kiểu dữ liệu Đối tượng Lớn [LOB] đề cập đến các mục dữ liệu lớn như văn bản, hình ảnh đồ họa, video clip và dạng sóng âm thanh. Kiểu dữ liệu LOB cho phép truy cập hiệu quả, ngẫu nhiên, từng phần vào dữ liệu này. Sau đây là các kiểu dữ liệu PL/SQL LOB được xác định trước:
Loại dữ liệu
Sự mô tả
Kích thước
BFILE
Được sử dụng để lưu trữ các đối tượng nhị phân lớn trong các tệp hệ điều hành bên ngoài cơ sở dữ liệu.
Phụ thuộc vào hệ thống. Không được vượt quá 4 gigabyte [GB].
BLOB
Được sử dụng để lưu trữ các đối tượng nhị phân lớn trong cơ sở dữ liệu.
8 đến 128 terabyte [TB]
CLOB
Được sử dụng để lưu trữ các khối dữ liệu ký tự lớn trong cơ sở dữ liệu.
8 đến 128 TB
NCLOB
Được sử dụng để lưu trữ các khối dữ liệu NCHAR lớn trong cơ sở dữ liệu.
8 đến 128 TB
Các kiểu con do người dùng xác định PL/SQL
Kiểu con là một tập hợp con của kiểu dữ liệu khác, được gọi là kiểu cơ sở của nó. Kiểu con có các phép toán hợp lệ giống như kiểu cơ sở của nó, nhưng chỉ là một tập hợp con các giá trị hợp lệ của nó.
PL/SQL xác định trước một số kiểu con trong gói STANDARD . Ví dụ: PL/SQL định nghĩa trước các kiểu con CHARACTER và INTEGER như sau:
SUBTYPE CHARACTER IS CHAR;
SUBTYPE INTEGER IS NUMBER[38,0];
Bạn có thể xác định và sử dụng các kiểu phụ của riêng mình. Chương trình sau minh họa việc xác định và sử dụng kiểu con do người dùng xác định:
DECLARE
SUBTYPE name IS char[20];
SUBTYPE message IS varchar2[100];
salutation name;
greetings message;
BEGIN
salutation := 'Reader ';
greetings := 'Welcome to the World of PL/SQL';
dbms_output.put_line['Hello ' || salutation || greetings];
END;
/
Khi đoạn mã trên được thực thi tại dấu nhắc SQL, nó tạo ra kết quả sau:
Hello Reader Welcome to the World of PL/SQL
PL/SQL procedure successfully completed.
NULL trong PL/SQL
Giá trị PL/SQL NULL đại diện cho dữ liệu bị thiếu hoặc không xác định và chúng không phải là một số nguyên, một ký tự hoặc bất kỳ kiểu dữ liệu cụ thể nào khác. Lưu ý rằng NULL không giống như một chuỗi dữ liệu trống hoặc giá trị ký tự rỗng '\ 0' . Một null có thể được gán nhưng nó không thể được đánh đồng với bất cứ thứ gì, kể cả chính nó.