- HOME
- NHẬP MÔN
- SQL,PL/SQL
- ADMIN
- FULL BÀI VIẾT
- CÂU HỎI THƯỜNG GẶP
- CÁC LỖI THƯỜNG GẶP
- CÔNG CỤ
- ORACLE DATABASE TUTORIAL CƠ BẢN
- QUY TRÌNH VẬN HÀNH ORACLE DATABASE A-Z
- CÀI ĐẶT, PATCH
- UPGRADE/MIGRATION
- KIẾN TRÚC
- QUẢN LÝ INSTANCE
- USER, ROLES, QUYỀN
- LƯU TRỮ (STORAGE)
- OBJECTS
- BACKUP
- RECOVERY
- BẢO TRÌ
- HIỆU NĂNG (PERFORMANCE)
- GIAO DỊCH PHÂN TÁN
- BẢO MẬT
- TROUBLESHOOTING
- VẬN HÀNH TỰ ĐỘNG
- TIPS
- KHO TÀI NGUYÊN
- EXADATA
- KHÁC
- TUNNING
- RAC-ASM
- 12C-21C
- DB KHÁC
- ĐỒNG BỘ
- SYSTEM
- ĐÀO TẠO
- GIẢI PHÁP
- RADIO
- LIÊN HỆ
Thứ Hai, 31 tháng 10, 2022
Kiểm tra IP VIP, Scan, Private máy chủ cài đặt Oracle RAC
Thứ Bảy, 29 tháng 10, 2022
[VIP5] Thư viện tài liệu chuẩn Oracle cho DBA
Thứ Năm, 27 tháng 10, 2022
Vô hiệu hóa Transparent HugePages trong Oracle Database
Oracle khuyến nghị rằng bạn nên tắt Transparent HugePages trước khi bắt đầu cài đặt từ phiên bản Oracle database tất cả các phiên bản từ Oracle Linux 6 hoặc có kernel tương đương.
Bộ nhớ Transparent HugePages khác với bộ nhớ HugePages tiêu chuẩn vì thread khugepaged của kernel
phân bổ bộ nhớ động trong thời gian chạy. Bộ nhớ HugePages tiêu chuẩn được cấp phát trước khi khởi động và không thay đổi trong thời gian chạy.
Thứ Tư, 26 tháng 10, 2022
PL/SQL - Object Oriented
Trong chương này, chúng ta sẽ thảo luận về PL/SQL hướng đối tượng. PL/SQL cho phép xác định một kiểu đối tượng, giúp thiết kế cơ sở dữ liệu hướng đối tượng trong Oracle. Một kiểu đối tượng cho phép bạn tạo các kiểu kết hợp. Sử dụng các đối tượng cho phép bạn triển khai các đối tượng trong thế giới thực với cấu trúc dữ liệu và phương pháp cụ thể để vận hành nó. Các đối tượng có các thuộc tính và phương thức. Thuộc tính là thuộc tính của một đối tượng và được sử dụng để lưu trữ trạng thái của đối tượng; và các phương pháp được sử dụng để mô hình hóa hành vi của nó.
PL/SQL - DBMS Output
Trong chương này, chúng ta sẽ thảo luận về Đầu ra DBMS trong PL/SQL. DBMS_OUTPUT là một gói tích hợp cho phép bạn hiển thị thông tin đầu ra, gỡ lỗi và gửi thông báo từ các khối PL/SQL, chương trình con, gói và trình kích hoạt. Chúng tôi đã sử dụng gói này trong suốt hướng dẫn của chúng tôi.
PL/SQL - Date & Time
Trong chương này, chúng ta sẽ thảo luận về Ngày và Giờ trong PL/SQL. Có hai lớp kiểu dữ liệu liên quan đến ngày và giờ trong PL/SQL -
Các kiểu dữ liệu ngày giờ
Các kiểu dữ liệu khoảng thời gian
PL/SQL - Transactions (Giao dịch)
Trong chương này, chúng ta sẽ thảo luận về các giao dịch trong PL/SQL. Một giao dịch cơ sở dữ liệu là một đơn vị công việc nguyên tử có thể bao gồm một hoặc nhiều câu lệnh SQL liên quan. Nó được gọi là nguyên tử vì các sửa đổi cơ sở dữ liệu do các câu lệnh SQL tạo thành một giao dịch mang lại có thể được cam kết chung, tức là được thực hiện vĩnh viễn với cơ sở dữ liệu hoặc được khôi phục (hoàn tác) từ cơ sở dữ liệu.
PL/SQL - Collections
Trong chương này, chúng ta sẽ thảo luận về các Tập hợp trong PL/SQL. Tập hợp là một nhóm có thứ tự các phần tử có cùng kiểu dữ liệu. Mỗi phần tử được xác định bằng một chỉ số con duy nhất thể hiện vị trí của nó trong tập hợp.
PL/SQL - Packages (gói)
Trong chương này, chúng ta sẽ thảo luận về các package (Gói) . Các gói là các đối tượng lược đồ nhóm các kiểu, biến và chương trình con có liên quan về mặt logic.
Một gói sẽ có hai phần bắt buộc -
Đặc điểm kỹ thuật gói
Nội dung hoặc định nghĩa gói
PL/SQL - Triggers
Trong chương này, chúng ta sẽ thảo luận về các Trigger . Trigger là các chương trình được lưu trữ, được tự động thực thi hoặc kích hoạt khi một số sự kiện xảy ra. Trên thực tế, các trình kích hoạt được viết ra để được thực thi để đáp ứng với bất kỳ sự kiện nào sau đây:
Câu lệnh thao tác cơ sở dữ liệu (DML) (DELETE, INSERT hoặc UPDATE)
Câu lệnh định nghĩa cơ sở dữ liệu (DDL) (CREATE, ALTER hoặc DROP).
Hoạt động cơ sở dữ liệu (SERVERERROR, LOGON, LOGOFF, STARTUP hoặc SHUTDOWN).
PL / SQL - Ngoại lệ (Exceptions)
Trong chương này, chúng ta sẽ thảo luận về các Ngoại lệ trong . Một ngoại lệ là một điều kiện lỗi trong quá trình thực thi chương trình. hỗ trợ lập trình viên nắm bắt các điều kiện như vậy bằng cách sử dụng khối EXCEPTION trong chương trình và một hành động thích hợp được thực hiện đối với điều kiện lỗi. Có hai loại ngoại lệ -
Các ngoại lệ do hệ thống xác định
Các ngoại lệ do người dùng xác định
PL/SQL - Bản ghi (Records)
Trong chương này, chúng ta sẽ thảo luận về Bản ghi trong PL/SQL. Bản ghi là một cấu trúc dữ liệu có thể chứa các mục dữ liệu thuộc các loại khác nhau. Bản ghi bao gồm các trường khác nhau, tương tự như một hàng của bảng cơ sở dữ liệu.
PL / SQL - Con trỏ (cursor)
Trong chương này, chúng ta sẽ thảo luận về các con trỏ trong PL/SQL. Oracle tạo một vùng bộ nhớ, được gọi là vùng ngữ cảnh, để xử lý một câu lệnh SQL, vùng này chứa tất cả thông tin cần thiết để xử lý câu lệnh; ví dụ: số lượng hàng được xử lý, v.v.
PL / SQL - Hàm (function)
Trong chương này, chúng ta sẽ thảo luận về các hàm trong PL/SQL. Một hàm giống như một thủ tục ngoại trừ nó trả về một giá trị. Do đó, tất cả các thảo luận của chương trước cũng đúng cho các hàm.
PL / SQL - Thủ tục (procedure)
Trong chương này, chúng ta sẽ thảo luận về các Thủ tục trong PL/SQL. Chương trình con là một đơn vị / mô-đun chương trình thực hiện một nhiệm vụ cụ thể. Các chương trình con này được kết hợp với nhau để tạo thành các chương trình lớn hơn. Về cơ bản, đây được gọi là 'Thiết kế mô-đun'. Một chương trình con có thể được gọi bởi một chương trình con hoặc chương trình khác được gọi là chương trình gọi.
Một chương trình con có thể được tạo -
Ở cấp schema
Bên trong một gói
Bên trong một khối PL/SQL
Ở cấp độ lược đồ, chương trình con là một chương trình con độc lập . Nó được tạo bằng câu lệnh CREATE PROCEDURE hoặc câu lệnh CREATE FUNCTION. Nó được lưu trữ trong cơ sở dữ liệu và có thể bị xóa bằng câu lệnh DROP PROCEDURE hoặc DROP FUNCTION.
Một chương trình con được tạo bên trong một gói là một chương trình con được đóng gói . Nó được lưu trữ trong cơ sở dữ liệu và chỉ có thể bị xóa khi gói bị xóa bằng câu lệnh DROP PACKAGE. Chúng ta sẽ thảo luận về các gói trong chương 'PL/SQL - Gói' .
Chương trình con PL/SQL được đặt tên là các khối PL/SQL có thể được gọi với một tập các tham số. PL/SQL cung cấp hai loại chương trình con:
Hàm (function) - Các chương trình con này trả về một giá trị duy nhất; chủ yếu được sử dụng để tính toán và trả về một giá trị.
Thủ tục (procedure) - Các chương trình con này không trực tiếp trả về một giá trị; chủ yếu được sử dụng để thực hiện một hành động.
Chương này sẽ trình bày các khía cạnh quan trọng của một thủ tục PL/SQL . Chúng ta sẽ thảo luận về hàm PL/SQL trong chương tiếp theo.
Các phần của chương trình con PL/SQL
Mỗi chương trình con PL/SQL có một tên và cũng có thể có một danh sách tham số. Giống như các khối PL/SQL ẩn danh, các khối được đặt tên cũng sẽ có ba phần sau:
STT | Bộ phận & Mô tả |
1 | Phần khai báo Nó là một phần tùy chọn. Tuy nhiên, phần khai báo cho chương trình con không bắt đầu bằng từ khóa DECLARE. Nó chứa các khai báo về kiểu, con trỏ, hằng, biến, ngoại lệ và chương trình con lồng nhau. Các mục này là cục bộ của chương trình con và không còn tồn tại khi chương trình con hoàn thành việc thực thi. |
2 | Phần thực thi Đây là một phần bắt buộc và chứa các câu lệnh thực hiện hành động được chỉ định. |
3 | Xử lý ngoại lệ Đây lại là một phần không bắt buộc. Nó chứa mã xử lý lỗi thời gian chạy. |
Tạo một thủ tục
Một thủ tục được tạo bằng câu lệnh CREATE OR REPLACE PROCEDURE . Cú pháp đơn giản cho câu lệnh CREATE OR REPLACE PROCEDURE như sau:
CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter_name [IN | OUT | IN OUT] type [, ...])]
{IS | AS}
BEGIN
< procedure_body >
END procedure_name;
Ở đâu,
procedure-name chỉ định tên của thủ tục.
Tùy chọn [HOẶC THAY THẾ] cho phép sửa đổi quy trình hiện có.
Danh sách tham số tùy chọn chứa tên, chế độ và các loại tham số. IN đại diện cho giá trị sẽ được truyền từ bên ngoài và OUT đại diện cho tham số sẽ được sử dụng để trả về một giá trị bên ngoài thủ tục.
thân thủ tục chứa phần thực thi.
Từ khóa AS được sử dụng thay cho từ khóa IS để tạo một quy trình độc lập.
Thí dụ
Ví dụ sau tạo một thủ tục đơn giản hiển thị chuỗi 'Hello World!' trên màn hình khi thực thi.
CREATE OR REPLACE PROCEDURE greetings
AS
BEGIN
dbms_output.put_line('Hello World!');
END;
/
Khi đoạn mã trên được thực thi bằng lời nhắc SQL, nó sẽ tạo ra kết quả sau:
Procedure created.
Thực hiện một quy trình độc lập
Một thủ tục độc lập có thể được gọi theo hai cách:
Sử dụng từ khóa EXECUTE
Gọi tên của thủ tục từ một khối PL/SQL
Thủ tục có tên 'lời chào' ở trên có thể được gọi với từ khóa EXECUTE là -
EXECUTE greetings;
Cuộc gọi trên sẽ hiển thị -
Hello World
PL/SQL procedure successfully completed.
Thủ tục cũng có thể được gọi từ một khối PL/SQL khác -
BEGIN
greetings;
END;
/
Cuộc gọi trên sẽ hiển thị -
Hello World
PL/SQL procedure successfully completed.
Xóa một thủ tục độc lập
Một thủ tục độc lập bị xóa với câu lệnh DROP PROCEDURE . Cú pháp để xóa một thủ tục là:
DROP PROCEDURE procedure-name;
Bạn có thể bỏ quy trình chào hỏi bằng cách sử dụng câu lệnh sau:
DROP PROCEDURE greetings;
Chế độ tham số trong chương trình con PL/SQL
Bảng sau liệt kê các chế độ tham số trong chương trình con PL/SQL:
STT | Thông số: Chế độ & Mô tả |
1 | IN Tham số IN cho phép bạn truyền một giá trị vào chương trình con. Nó là một tham số chỉ đọc . Bên trong chương trình con, một tham số IN hoạt động giống như một hằng số. Nó không thể được chỉ định một giá trị. Bạn có thể chuyển một hằng số, nghĩa đen, biến khởi tạo hoặc biểu thức dưới dạng tham số IN. Bạn cũng có thể khởi tạo nó thành một giá trị mặc định; tuy nhiên, trong trường hợp đó, nó bị bỏ qua khỏi cuộc gọi chương trình con. Đây là chế độ truyền tham số mặc định. Các thông số được chuyển qua tham chiếu . |
2 | OUT Tham số OUT trả về một giá trị cho chương trình đang gọi. Bên trong chương trình con, một tham số OUT hoạt động giống như một biến. Bạn có thể thay đổi giá trị của nó và tham chiếu giá trị sau khi gán nó. Tham số thực tế phải là biến và nó được truyền theo giá trị . |
3 | IN OUT Tham số IN OUT chuyển một giá trị ban đầu cho một chương trình con và trả về một giá trị cập nhật cho người gọi. Nó có thể được gán một giá trị và giá trị đó có thể được đọc. Tham số thực tế tương ứng với tham số chính thức IN OUT phải là một biến, không phải là một hằng số hoặc một biểu thức. Tham số chính thức phải được gán một giá trị. Tham số thực tế được truyền bằng giá trị. |
Chế độ IN & OUT Ví dụ 1
Chương trình này tìm giá trị nhỏ nhất của hai giá trị. Ở đây, thủ tục nhận hai số bằng chế độ IN và trả về giá trị tối thiểu của chúng bằng cách sử dụng các tham số OUT.
DECLARE
a number;
b number;
c number;
PROCEDURE findMin(x IN number, y IN number, z OUT number) IS
BEGIN
IF x < y THEN
z:= x;
ELSE
z:= y;
END IF;
END;
BEGIN
a:= 23;
b:= 45;
findMin(a, b, c);
dbms_output.put_line(' Minimum of (23, 45) : ' || c);
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:
Minimum of (23, 45) : 23
PL/SQL procedure successfully completed.
Chế độ IN & OUT Ví dụ 2
Thủ tục này tính bình phương giá trị của một giá trị được truyền vào. Ví dụ này cho thấy cách chúng ta có thể sử dụng cùng một tham số để chấp nhận một giá trị và sau đó trả về một kết quả khác.
DECLARE
a number;
PROCEDURE squareNum(x IN OUT number) IS
BEGIN
x := x * x;
END;
BEGIN
a:= 23;
squareNum(a);
dbms_output.put_line(' Square of (23): ' || a);
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:
Square of (23): 529
PL/SQL procedure successfully completed.
Phương pháp truyền tham số
Các tham số thực tế có thể được chuyển theo ba cách:
Ký hiệu vị trí
Ký hiệu được đặt tên
Ký hiệu hỗn hợp
Ký hiệu vị trí
Trong ký hiệu vị trí, bạn có thể gọi thủ tục là -
findMin(a, b, c, d);
Trong ký hiệu vị trí, tham số thực tế đầu tiên được thay thế cho tham số hình thức đầu tiên; tham số thực tế thứ hai được thay thế cho tham số chính thức thứ hai, v.v. Vì vậy, a được thay thế cho x, b được thay thế cho y, c được thay thế cho z và d được thay thế cho m .
Ký hiệu được đặt tên
Trong ký hiệu được đặt tên, tham số thực được liên kết với tham số chính thức bằng ký hiệu mũi tên (=>) . Lệnh gọi thủ tục sẽ giống như sau:
findMin(x => a, y => b, z => c, m => d);
Ký hiệu hỗn hợp
Trong ký hiệu hỗn hợp, bạn có thể kết hợp cả hai ký hiệu trong cuộc gọi thủ tục; tuy nhiên, ký hiệu vị trí phải đứng trước ký hiệu được đặt tên.
Cuộc gọi sau là hợp pháp -
findMin(a, b, c, m => d);
Tuy nhiên, điều này không hợp pháp:
findMin(x => a, b, c, d);
* 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
ĐỌC NHIỀU
-
Bài viết này mô tả việc cài đặt Oracle Database 19c 64-bit trên Oracle Linux 7 (OL7) 64-bit bằng giao diện GUI hoặc bằng silent mode
-
Giới thiệu phần mềm: VanDyke SecureCRT and SecureFX là một ứng dụng chuyển tập tin an toàn, linh hoạt với giao diện trực quan cung cấp tr...
-
Ở bài trước bạn đã hiểu cách tạo database rồi, vậy thì trong bài này mình sẽ nói đến một thành phần khá hay trong SQL Server đó là schema. N...
-
TOAD là công cụ cho Oracle DBA TỐT NHẤT với nhiều tính năng: - Quản trị trực quan các thành phần: Tablespace, Monitor, Tunning, tạo các ob...