Trong chương này, chúng ta sẽ thảo luận về các kiểu dữ liệu trong PL/SQL. Các biến, hằng số và tham số PL/SQL phải có kiểu dữ liệu hợp lệ, kiểu dữ liệu này chỉ định định dạng lưu trữ, các ràng buộc và phạm vi giá trị hợp lệ. Chúng ta sẽ tập trung vào kiểu dữ liệu SCALAR và LOB trong chương này. Hai kiểu dữ liệu còn lại sẽ được đề cập trong các chương 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:
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.
Kiểu dữ liệu số PL/SQL và kiểu con
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 -
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:
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:
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:
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ó.
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
PL/SQL, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, securecrt, xshell, mobaxterm, putty