<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL_Tutorial%2FCollections%2FNested_Table_Column</id>
		<title>Oracle PL/SQL Tutorial/Collections/Nested Table Column - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL_Tutorial%2FCollections%2FNested_Table_Column"/>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Collections/Nested_Table_Column&amp;action=history"/>
		<updated>2026-04-04T15:55:40Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Collections/Nested_Table_Column&amp;diff=2939&amp;oldid=prev</id>
		<title> в 13:45, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Collections/Nested_Table_Column&amp;diff=2939&amp;oldid=prev"/>
				<updated>2010-05-26T13:45:46Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:45, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Collections/Nested_Table_Column&amp;diff=2940&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Collections/Nested_Table_Column&amp;diff=2940&amp;oldid=prev"/>
				<updated>2010-05-26T10:04:29Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Delete one record in the nested table==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE Or Replace TYPE AddressType AS OBJECT (&lt;br /&gt;
  2    street VARCHAR2(15),&lt;br /&gt;
  3    city   VARCHAR2(15),&lt;br /&gt;
  4    state  CHAR(2),&lt;br /&gt;
  5    zip    VARCHAR2(5)&lt;br /&gt;
  6  );&lt;br /&gt;
  7  /&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE Or Replace TYPE nested_table_AddressType AS TABLE OF AddressType;&lt;br /&gt;
  2  /&lt;br /&gt;
Type created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE employee (&lt;br /&gt;
  2    id         INTEGER PRIMARY KEY,&lt;br /&gt;
  3    first_name VARCHAR2(10),&lt;br /&gt;
  4    last_name  VARCHAR2(10),&lt;br /&gt;
  5    addresses  nested_table_AddressType&lt;br /&gt;
  6  )&lt;br /&gt;
  7  NESTED TABLE&lt;br /&gt;
  8    addresses&lt;br /&gt;
  9  STORE AS&lt;br /&gt;
 10    nested_addresses;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO employee VALUES (&lt;br /&gt;
  2    1, &amp;quot;Steve&amp;quot;, &amp;quot;Brown&amp;quot;,&lt;br /&gt;
  3    nested_table_AddressType(&lt;br /&gt;
  4      AddressType(&amp;quot;2 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;MA&amp;quot;, &amp;quot;12345&amp;quot;),&lt;br /&gt;
  5      AddressType(&amp;quot;4 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;CA&amp;quot;, &amp;quot;54321&amp;quot;)&lt;br /&gt;
  6    )&lt;br /&gt;
  7  );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO TABLE (&lt;br /&gt;
  2    SELECT addresses FROM employee WHERE id = 1&lt;br /&gt;
  3  ) VALUES (&lt;br /&gt;
  4    AddressType(&amp;quot;5 Ave&amp;quot;, &amp;quot;Uptown&amp;quot;, &amp;quot;NY&amp;quot;, &amp;quot;55512&amp;quot;)&lt;br /&gt;
  5  );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from employee;&lt;br /&gt;
ID FIRST_NAME LAST_NAME ADDRESSES(STREET, CITY, STATE, ZIP)&lt;br /&gt;
-------------------------------------------------------------------------------------------------------&lt;br /&gt;
1 Steve       Brown     NESTED_TABLE_ADDRESSTYPE(ADDRESSTYPE(&amp;quot;2 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;MA&amp;quot;, &amp;quot;12345&amp;quot;), ADDRESSTYPE(&amp;quot;4 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;CA&amp;quot;, &amp;quot;54321&amp;quot;), ADDRESSTYPE(&amp;quot;5 Ave&amp;quot;, &amp;quot;Uptown&amp;quot;, &amp;quot;NY&amp;quot;, &amp;quot;55512&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DELETE FROM TABLE (&lt;br /&gt;
  2    SELECT addresses FROM employee WHERE id = 1&lt;br /&gt;
  3  ) addr&lt;br /&gt;
  4  WHERE&lt;br /&gt;
  5    VALUE(addr) = AddressType(&lt;br /&gt;
  6      &amp;quot;4 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;CA&amp;quot;, &amp;quot;54321&amp;quot;&lt;br /&gt;
  7    );&lt;br /&gt;
1 row deleted.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from employee;&lt;br /&gt;
ID FIRST_NAME LAST_NAME ADDRESSES(STREET, CITY, STATE, ZIP)&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
1 Steve       Brown     NESTED_TABLE_ADDRESSTYPE(ADDRESSTYPE(&amp;quot;2 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;MA&amp;quot;, &amp;quot;12345&amp;quot;), ADDRESSTYPE(&amp;quot;5 Ave&amp;quot;, &amp;quot;Uptown&amp;quot;, &amp;quot;NY&amp;quot;, &amp;quot;55512&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table employee;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Getting Information on Nested Tables==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE Or Replace TYPE AddressType AS OBJECT (&lt;br /&gt;
  2    street VARCHAR2(15),&lt;br /&gt;
  3    city   VARCHAR2(15),&lt;br /&gt;
  4    state  CHAR(2),&lt;br /&gt;
  5    zip    VARCHAR2(5)&lt;br /&gt;
  6  );&lt;br /&gt;
  7  /&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE Or Replace TYPE nested_table_AddressType AS TABLE OF AddressType;&lt;br /&gt;
  2  /&lt;br /&gt;
Type created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE employee (&lt;br /&gt;
  2    id         INTEGER PRIMARY KEY,&lt;br /&gt;
  3    first_name VARCHAR2(10),&lt;br /&gt;
  4    last_name  VARCHAR2(10),&lt;br /&gt;
  5    addresses  nested_table_AddressType&lt;br /&gt;
  6  )&lt;br /&gt;
  7  NESTED TABLE&lt;br /&gt;
  8    addresses&lt;br /&gt;
  9  STORE AS&lt;br /&gt;
 10    nested_addresses;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; desc employee;&lt;br /&gt;
 Name            Null?    Type&lt;br /&gt;
------------------------------------------------------&lt;br /&gt;
 ID              NOT NULL NUMBER(38)&lt;br /&gt;
 FIRST_NAME               VARCHAR2(10)&lt;br /&gt;
 LAST_NAME                VARCHAR2(10)&lt;br /&gt;
 ADDRESSES                NESTED_TABLE_ADDRESSTYPE&lt;br /&gt;
   STREET                 VARCHAR2(15)&lt;br /&gt;
   CITY                   VARCHAR2(15)&lt;br /&gt;
   STATE                  CHAR(2)&lt;br /&gt;
   ZIP                    VARCHAR2(5)&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table employee;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Modifying Nested Table Elements==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Elements in a nested table can be modified individually: you can insert, update, and delete elements in a nested table.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;You do this using the TABLE clause in conjunction with a subquery that selects the nested table.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE Or Replace TYPE AddressType AS OBJECT (&lt;br /&gt;
  2    street VARCHAR2(15),&lt;br /&gt;
  3    city   VARCHAR2(15),&lt;br /&gt;
  4    state  CHAR(2),&lt;br /&gt;
  5    zip    VARCHAR2(5)&lt;br /&gt;
  6  );&lt;br /&gt;
  7  /&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE Or Replace TYPE nested_table_AddressType AS TABLE OF AddressType;&lt;br /&gt;
  2  /&lt;br /&gt;
Type created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE employee (&lt;br /&gt;
  2    id         INTEGER PRIMARY KEY,&lt;br /&gt;
  3    first_name VARCHAR2(10),&lt;br /&gt;
  4    last_name  VARCHAR2(10),&lt;br /&gt;
  5    addresses  nested_table_AddressType&lt;br /&gt;
  6  )&lt;br /&gt;
  7  NESTED TABLE&lt;br /&gt;
  8    addresses&lt;br /&gt;
  9  STORE AS&lt;br /&gt;
 10    nested_addresses;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO employee VALUES (&lt;br /&gt;
  2    1, &amp;quot;Steve&amp;quot;, &amp;quot;Brown&amp;quot;,&lt;br /&gt;
  3    nested_table_AddressType(&lt;br /&gt;
  4      AddressType(&amp;quot;2 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;MA&amp;quot;, &amp;quot;12345&amp;quot;),&lt;br /&gt;
  5      AddressType(&amp;quot;4 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;CA&amp;quot;, &amp;quot;54321&amp;quot;)&lt;br /&gt;
  6    )&lt;br /&gt;
  7  );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO TABLE (&lt;br /&gt;
  2    SELECT addresses FROM employee WHERE id = 1&lt;br /&gt;
  3  ) VALUES (&lt;br /&gt;
  4    AddressType(&amp;quot;5 Ave&amp;quot;, &amp;quot;Uptown&amp;quot;, &amp;quot;NY&amp;quot;, &amp;quot;55512&amp;quot;)&lt;br /&gt;
  5  );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from employee;&lt;br /&gt;
ID FIRST_NAME LAST_NAME ADDRESSES(STREET, CITY, STATE, ZIP)&lt;br /&gt;
----------------------------------------------------------------------------------------------------------------&lt;br /&gt;
1 Steve       Brown     NESTED_TABLE_ADDRESSTYPE(ADDRESSTYPE(&amp;quot;2 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;MA&amp;quot;, &amp;quot;12345&amp;quot;), ADDRESSTYPE(&amp;quot;4 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;CA&amp;quot;, &amp;quot;54321&amp;quot;), ADDRESSTYPE(&amp;quot;5 Ave&amp;quot;, &amp;quot;Uptown&amp;quot;, &amp;quot;NY&amp;quot;, &amp;quot;55512&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table employee;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Populating a Nested Table with Elements==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;You populate the elements in a nested table using an INSERT statement.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE Or Replace TYPE AddressType AS OBJECT (&lt;br /&gt;
  2    street VARCHAR2(15),&lt;br /&gt;
  3    city   VARCHAR2(15),&lt;br /&gt;
  4    state  CHAR(2),&lt;br /&gt;
  5    zip    VARCHAR2(5)&lt;br /&gt;
  6  );&lt;br /&gt;
  7  /&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE Or Replace TYPE nested_table_AddressType AS TABLE OF AddressType;&lt;br /&gt;
  2  /&lt;br /&gt;
Type created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE employee (&lt;br /&gt;
  2    id         INTEGER PRIMARY KEY,&lt;br /&gt;
  3    first_name VARCHAR2(10),&lt;br /&gt;
  4    last_name  VARCHAR2(10),&lt;br /&gt;
  5    addresses  nested_table_AddressType&lt;br /&gt;
  6  )&lt;br /&gt;
  7  NESTED TABLE&lt;br /&gt;
  8    addresses&lt;br /&gt;
  9  STORE AS&lt;br /&gt;
 10    nested_addresses;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO employee VALUES (&lt;br /&gt;
  2    1, &amp;quot;Steve&amp;quot;, &amp;quot;Brown&amp;quot;,&lt;br /&gt;
  3    nested_table_AddressType(&lt;br /&gt;
  4      AddressType(&amp;quot;2 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;MA&amp;quot;, &amp;quot;12345&amp;quot;),&lt;br /&gt;
  5      AddressType(&amp;quot;4 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;CA&amp;quot;, &amp;quot;54321&amp;quot;)&lt;br /&gt;
  6    )&lt;br /&gt;
  7  );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from employee;&lt;br /&gt;
ID FIRST_NAME LAST_NAME ADDRESSES(STREET, CITY, STATE, ZIP)&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
1 Steve      Brown      NESTED_TABLE_ADDRESSTYPE(ADDRESSTYPE(&amp;quot;2 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;MA&amp;quot;, &amp;quot;12345&amp;quot;), ADDRESSTYPE(&amp;quot;4 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;CA&amp;quot;, &amp;quot;54321&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table employee;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Selecting Nested Table Elements==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;You select the elements in a nested table using a SELECT statement.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE Or Replace TYPE AddressType AS OBJECT (&lt;br /&gt;
  2    street VARCHAR2(15),&lt;br /&gt;
  3    city   VARCHAR2(15),&lt;br /&gt;
  4    state  CHAR(2),&lt;br /&gt;
  5    zip    VARCHAR2(5)&lt;br /&gt;
  6  );&lt;br /&gt;
  7  /&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE Or Replace TYPE nested_table_AddressType AS TABLE OF AddressType;&lt;br /&gt;
  2  /&lt;br /&gt;
Type created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE employee (&lt;br /&gt;
  2    id         INTEGER PRIMARY KEY,&lt;br /&gt;
  3    first_name VARCHAR2(10),&lt;br /&gt;
  4    last_name  VARCHAR2(10),&lt;br /&gt;
  5    addresses  nested_table_AddressType&lt;br /&gt;
  6  )&lt;br /&gt;
  7  NESTED TABLE&lt;br /&gt;
  8    addresses&lt;br /&gt;
  9  STORE AS&lt;br /&gt;
 10    nested_addresses;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO employee VALUES (&lt;br /&gt;
  2    1, &amp;quot;Steve&amp;quot;, &amp;quot;Brown&amp;quot;,&lt;br /&gt;
  3    nested_table_AddressType(&lt;br /&gt;
  4      AddressType(&amp;quot;2 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;MA&amp;quot;, &amp;quot;12345&amp;quot;),&lt;br /&gt;
  5      AddressType(&amp;quot;4 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;CA&amp;quot;, &amp;quot;54321&amp;quot;)&lt;br /&gt;
  6    )&lt;br /&gt;
  7  );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from employee;&lt;br /&gt;
ID FIRST_NAME LAST_NAME  ADDRESSES(STREET, CITY, STATE, ZIP)&lt;br /&gt;
--------------------------------------------------------------------------------------------------------&lt;br /&gt;
1  Steve      Brown      NESTED_TABLE_ADDRESSTYPE(ADDRESSTYPE(&amp;quot;2 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;MA&amp;quot;, &amp;quot;12345&amp;quot;), ADDRESSTYPE(&amp;quot;4 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;CA&amp;quot;, &amp;quot;54321&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table employee;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Set the depth to 2 and describe a nested table==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE Or Replace TYPE AddressType AS OBJECT (&lt;br /&gt;
  2    street VARCHAR2(15),&lt;br /&gt;
  3    city   VARCHAR2(15),&lt;br /&gt;
  4    state  CHAR(2),&lt;br /&gt;
  5    zip    VARCHAR2(5)&lt;br /&gt;
  6  );&lt;br /&gt;
  7  /&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE Or Replace TYPE nested_table_AddressType AS TABLE OF AddressType;&lt;br /&gt;
  2  /&lt;br /&gt;
Type created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE employee (&lt;br /&gt;
  2    id         INTEGER PRIMARY KEY,&lt;br /&gt;
  3    first_name VARCHAR2(10),&lt;br /&gt;
  4    last_name  VARCHAR2(10),&lt;br /&gt;
  5    addresses  nested_table_AddressType&lt;br /&gt;
  6  )&lt;br /&gt;
  7  NESTED TABLE&lt;br /&gt;
  8    addresses&lt;br /&gt;
  9  STORE AS&lt;br /&gt;
 10    nested_addresses;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SET DESCRIBE DEPTH 2;&lt;br /&gt;
SQL&amp;gt; DESCRIBE employee;&lt;br /&gt;
 Name            Null?    Type&lt;br /&gt;
---------------------------------------------------&lt;br /&gt;
 ID              NOT NULL NUMBER(38)&lt;br /&gt;
 FIRST_NAME               VARCHAR2(10)&lt;br /&gt;
 LAST_NAME                VARCHAR2(10)&lt;br /&gt;
 ADDRESSES                NESTED_TABLE_ADDRESSTYPE&lt;br /&gt;
   STREET                 VARCHAR2(15)&lt;br /&gt;
   CITY                   VARCHAR2(15)&lt;br /&gt;
   STATE                  CHAR(2)&lt;br /&gt;
   ZIP                    VARCHAR2(5)&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table employee;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Update the first record in the nested table.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE Or Replace TYPE AddressType AS OBJECT (&lt;br /&gt;
  2    street VARCHAR2(15),&lt;br /&gt;
  3    city   VARCHAR2(15),&lt;br /&gt;
  4    state  CHAR(2),&lt;br /&gt;
  5    zip    VARCHAR2(5)&lt;br /&gt;
  6  );&lt;br /&gt;
  7  /&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE Or Replace TYPE nested_table_AddressType AS TABLE OF AddressType;&lt;br /&gt;
  2  /&lt;br /&gt;
Type created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE employee (&lt;br /&gt;
  2    id         INTEGER PRIMARY KEY,&lt;br /&gt;
  3    first_name VARCHAR2(10),&lt;br /&gt;
  4    last_name  VARCHAR2(10),&lt;br /&gt;
  5    addresses  nested_table_AddressType&lt;br /&gt;
  6  )&lt;br /&gt;
  7  NESTED TABLE&lt;br /&gt;
  8    addresses&lt;br /&gt;
  9  STORE AS&lt;br /&gt;
 10    nested_addresses;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO employee VALUES (&lt;br /&gt;
  2    1, &amp;quot;Steve&amp;quot;, &amp;quot;Brown&amp;quot;,&lt;br /&gt;
  3    nested_table_AddressType(&lt;br /&gt;
  4      AddressType(&amp;quot;2 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;MA&amp;quot;, &amp;quot;12345&amp;quot;),&lt;br /&gt;
  5      AddressType(&amp;quot;4 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;CA&amp;quot;, &amp;quot;54321&amp;quot;)&lt;br /&gt;
  6    )&lt;br /&gt;
  7  );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO TABLE (&lt;br /&gt;
  2    SELECT addresses FROM employee WHERE id = 1&lt;br /&gt;
  3  ) VALUES (&lt;br /&gt;
  4    AddressType(&amp;quot;5 Ave&amp;quot;, &amp;quot;Uptown&amp;quot;, &amp;quot;NY&amp;quot;, &amp;quot;55512&amp;quot;)&lt;br /&gt;
  5  );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; UPDATE TABLE (&lt;br /&gt;
  2    SELECT addresses FROM employee WHERE id = 1&lt;br /&gt;
  3  ) addr&lt;br /&gt;
  4  SET&lt;br /&gt;
  5    VALUE(addr) = AddressType(&lt;br /&gt;
  6      &amp;quot;1 Market Street&amp;quot;, &amp;quot;Main Town&amp;quot;, &amp;quot;MA&amp;quot;, &amp;quot;54321&amp;quot;&lt;br /&gt;
  7    )&lt;br /&gt;
  8  WHERE&lt;br /&gt;
  9    VALUE(addr) = AddressType(&lt;br /&gt;
 10      &amp;quot;2 Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;MA&amp;quot;, &amp;quot;12345&amp;quot;&lt;br /&gt;
 11    );&lt;br /&gt;
1 row updated.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from employee;&lt;br /&gt;
ID FIRST_NAME LAST_NAME ADDRESSES(STREET, CITY, STATE, ZIP)&lt;br /&gt;
-----------------------------------------------------------------------------------------------------------&lt;br /&gt;
1 Steve       Brown     NESTED_TABLE_ADDRESSTYPE(ADDRESSTYPE(&amp;quot;1 Market Street&amp;quot;, &amp;quot;Main Town&amp;quot;, &amp;quot;MA&amp;quot;, &amp;quot;54321&amp;quot;), ADDRESSTYPE(&amp;quot;4Ave&amp;quot;, &amp;quot;City&amp;quot;, &amp;quot;CA&amp;quot;, &amp;quot;54321&amp;quot;), ADDRESSTYPE(&amp;quot;5 Ave&amp;quot;, &amp;quot;Uptown&amp;quot;, &amp;quot;NY&amp;quot;, &amp;quot;55512&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table employee;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Using a Nested Table Type to Define a Column in a Table==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Once you have defined your nested table type, you can use it to define a column in a table.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The NESTED TABLE clause identifies the name of the nested table column (addresses).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The STORE AS clause specifies the name of the actual nested table (nested_addresses).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;You cannot access the nested table independently of the table in which it is embedded.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE Or Replace TYPE AddressType AS OBJECT (&lt;br /&gt;
  2    street VARCHAR2(15),&lt;br /&gt;
  3    city   VARCHAR2(15),&lt;br /&gt;
  4    state  CHAR(2),&lt;br /&gt;
  5    zip    VARCHAR2(5)&lt;br /&gt;
  6  );&lt;br /&gt;
  7  /&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE Or Replace TYPE nested_table_AddressType AS TABLE OF AddressType;&lt;br /&gt;
  2  /&lt;br /&gt;
Type created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE employee (&lt;br /&gt;
  2    id         INTEGER PRIMARY KEY,&lt;br /&gt;
  3    first_name VARCHAR2(10),&lt;br /&gt;
  4    last_name  VARCHAR2(10),&lt;br /&gt;
  5    addresses  nested_table_AddressType&lt;br /&gt;
  6  )&lt;br /&gt;
  7  NESTED TABLE&lt;br /&gt;
  8    addresses&lt;br /&gt;
  9  STORE AS&lt;br /&gt;
 10    nested_addresses;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; desc employee;&lt;br /&gt;
 Name           Null?    Type&lt;br /&gt;
 ID             NOT NULL NUMBER(38)&lt;br /&gt;
 FIRST_NAME              VARCHAR2(10)&lt;br /&gt;
 LAST_NAME               VARCHAR2(10)&lt;br /&gt;
 ADDRESSES               NESTED_TABLE_ADDRESSTYPE&lt;br /&gt;
   STREET                VARCHAR2(15)&lt;br /&gt;
   CITY                  VARCHAR2(15)&lt;br /&gt;
   STATE                 CHAR(2)&lt;br /&gt;
   ZIP                   VARCHAR2(5)&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table employee;&lt;br /&gt;
Table dropped.&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>