Objects of type tables are called PL/SQL tables that are modeled as database table. We can also say that PL/SQL tables are a way to providing arrays. Arrays are like temporary tables in memory that are processed very quickly. PL/SQL tables are used to move bulk data. They simplifies moving collections of data.
In PL/SQL, a PL/SQL table is a composite data type that allows you to store data in a two-dimensional array. Unlike database tables, PL/SQL tables are in-memory structures that reside in the memory of the session that declares them. They are used to hold sets of values and provide a flexible way to organize and manipulate data within PL/SQL programs.
Here are some key points about PL/SQL tables:
- Structure: A PL/SQL table has a similar structure to an array and consists of one or more columns. Each column has a data type, and you can define the size of the table.
- Indexing: PL/SQL tables are indexed collections, which means you can access their elements using numeric indices. The indices can be either positive integers or a special type called BINARY_INTEGER.
- Dynamic Sizing: Unlike arrays in some programming languages, PL/SQL tables can be dynamically resized at runtime. This flexibility allows you to add or remove elements as needed.
- Use Cases: PL/SQL tables are often used to hold temporary data, manipulate and transform data within PL/SQL programs, and pass sets of values between procedures and functions.
- Scope: PL/SQL tables are session-specific, and their data is retained only for the duration of the session in which they are declared. They are not stored persistently like database tables.
Example of declaring a PL/SQL table:
DECLARE
TYPE EmpNameList IS TABLE OF VARCHAR2(50) INDEX BY BINARY_INTEGER;
emp_names EmpNameList;
BEGIN
-- Populate the table
emp_names(1) := 'John';
emp_names(2) := 'Jane';
emp_names(3) := 'Bob';
— Access and use the tableDBMS_OUTPUT.PUT_LINE(‘Employee at index 2: ‘ || emp_names(2));
END;
In this example, EmpNameList
is a PL/SQL table type, and emp_names
is a variable of that type. The table is indexed by binary integers, and you can see how data is stored and accessed within the table.