MULTISET

MULTISET is a SQL operation that allows the creation of a derived table from subqueries, where each row in the derived table is a collection of rows containing similar types from the subquery. It permits duplicate values and permits querying of individual elements.

Example

DECLARE
TYPE phone_type IS RECORD (
country_code NUMBER(3),
area_code NUMBER(3),
phone_number VARCHAR2(8)
);
TYPE phone_table_type IS TABLE OF phone_type;
phone_table phone_table_type;
BEGIN
phone_table := phone_table_type(
phone_type(1, 408, '1234567'),
phone_type(1, 650, '7654321')
);
END;

Output

No specific output is displayed as it is a PL/SQL anonymous block.

Explanation

In this example, two user-defined types are declared: a record type phone_type and a table type phone_table_type. In the BEGIN section, two records are inserted into a table phone_table. The phone_table_type tyep enables creation of a table-like structure in PL/SQL block.

Example

CREATE TABLE Patients (
PatientID int,
Name varchar(255),
Allergies nvarchar(max),
);
INSERT INTO Patients (PatientID, Name, Allergies)
VALUES (1, 'John Doe', 'Penicillin, Latex');

Output

Terminal window
(1 row(s) affected)

Explanation

In the above example, a numeric field PatientID, a string field Name, and a MULTISET field Allergies are defined in the Patients table. The MULTISET field is used to store multiple values in a single field. A single row is inserted into the Patients table. The MULTISET field Allergies in the inserted row contains the values 'Penicillin, Latex'.

For in-depth explanations and examples SQL keywords where you write your SQL, install our extension.