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
(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'.