Preamble
In Oracle PL/SQL, the EXTEND method is a procedure that adds elements to the end of Varray or Nested Tables. The collection can be empty, but not NULL.
Syntax of EXTEND method in Oracle PL/SQL
collection_name.EXTEND;
collection_name.EXTEND (n);
collection_name.EXTEND (n, i);
Method parameters and arguments
- collection_name – the name of the collection.
- EXTEND – adds one zero element to the collection.
- EXTEND (n) – adds n zero elements to the collection.
- EXTEND (n, i) – adds n copies of the i-th element to the collection.
Note:
- EXTEND (n, i) is the only form you can use for a collection whose elements have a NOT NULL limitation.
- EXTEND works with the internal size of the collection. That is, if DELETE removes an item but saves its filler,
- EXTEND assumes that the item exists.
Let’s look at an example to understand how to use the EXTEND collection method in Oracle PL/SQL:
EXTEND example with Nested Tables
- Consider an example where we declare the Nested Tables variable by initializing it with three elements; we add two copies of the first element;
- remove the fifth (last) element; and then add one zero element.
Since EXTEND believes that the removed fifth element exists, the added zero element is the sixth element. The print_nt procedure prints the Nested Tables variable after initialization and after EXTEND and DELETE operations.
CREATE OR REPLACE TYPE nt_type IS TABLE OF NUMBER;
CREATE OR REPLACE PROCEDURE print_nt (nt nt_type) IS
i NUMBER;
BEGIN
i := nt.FIRST;
IF i IS NULL THEN
DBMS_OUTPUT.PUT_LINE('nt is empty');
ELSE
WHILE i IS NOT NULL LOOP
DBMS_OUTPUT.PUT('nt.(' || i || ') = '); print(nt(i));
i := nt.NEXT(i);
END LOOP;
END IF;
DBMS_OUTPUT.PUT_LINE('---');
END print_nt;
DECLARE
nt nt_type := nt_type(11, 22, 33);
BEGIN
print_nt(nt);
nt.EXTEND(2,1); -- Add two copies of the first element
print_nt(nt);
nt.DELETE(5); -- Remove the fifth element
print_nt(nt);
nt.EXTEND; -- Add one zero element
print_nt(nt);
END;
Result:
nt.(1) = 11
nt.(2) = 22
nt.(3) = 33
---
nt.(1) = 11
nt.(2) = 22
nt.(3) = 33
nt.(4) = 11
nt.(5) = 11
---
nt.(1) = 11
nt.(2) = 22
nt.(3) = 33
nt.(4) = 11
---
nt.(1) = 11
nt.(2) = 22
nt.(3) = 33
nt.(4) = 11
nt.(6) = NULL
---
PL/SQL tutorial: PL/SQL Collection Method EXTEND in Oracle Database
About Enteros
Enteros offers a patented database performance management SaaS platform. It proactively identifies root causes of complex business-impacting database scalability and performance issues across a growing number of clouds, RDBMS, NoSQL, and machine learning database platforms.
The views expressed on this blog are those of the author and do not necessarily reflect the opinions of Enteros Inc. This blog may contain links to the content of third-party sites. By providing such links, Enteros Inc. does not adopt, guarantee, approve, or endorse the information, views, or products available on such sites.
Are you interested in writing for Enteros’ Blog? Please send us a pitch!
RELATED POSTS
Tech Sector: Why AI-Driven Workloads Push Databases to Their Limits
- 29 August 2025
- Software Engineering
Introduction The technology sector is entering a new era as artificial intelligence (AI) and machine learning (ML) evolve from experimental pilots to mission-critical business systems. From real-time recommendation engines to fraud detection and natural language processing, modern AI thrives on fast, reliable, and scalable database performance. But with this evolution comes a major challenge. AI-driven … Continue reading “Tech Sector: Why AI-Driven Workloads Push Databases to Their Limits”
Monitoring vs. Observability: Why Financial and Healthcare CIOs Need More Than Dashboards
Introduction For years, enterprises have relied on monitoring tools to track uptime and performance. Dashboards, alerts, and SLAs have been the foundation of IT operations. But in the age of cloud, AI, and compliance-heavy industries like financial services and healthcare, monitoring alone is no longer enough. Executives now face a bigger challenge: hidden inefficiencies at … Continue reading “Monitoring vs. Observability: Why Financial and Healthcare CIOs Need More Than Dashboards”
How Enteros Transforms Financial Services Database Performance in the Age of Cloud and Regulation
- 28 August 2025
- Software Engineering
Introduction Financial institutions must manage vast, continuous streams of real‑time data — from millions of daily payments and algorithmic trades to fraud detection and compliance checks — while controlling costs. Even milliseconds of delay can affect revenue, risk models, and customer experience. CIOs and CTOs face rising cloud costs, tighter SOX, Basel III, PCI-DSS, and GDPR … Continue reading “How Enteros Transforms Financial Services Database Performance in the Age of Cloud and Regulation”
How Enteros Harnesses AI Agents and Cloud FinOps to Transform Database Performance in the Healthcare Sector
In the fast-evolving world of finance, where banking and insurance sectors rely on massive data streams for real-time decisions, efficient anomaly man…