Diferència entre revisions de la pàgina «M2 - Bases de dades / Apunts UF4 : BDOR3»
De wikiserver
(→Varrays) |
(→Varrays) |
||
Línia 32: | Línia 32: | ||
:- Atributo de UDT. | :- Atributo de UDT. | ||
:- Variable o parámetro de la función o procedimiento. | :- Variable o parámetro de la función o procedimiento. | ||
+ | <source lang="sql"> | ||
+ | CREATE TABLE employee_tab ( | ||
+ | id NUMBER(5), | ||
+ | name VARCHAR2(35), | ||
+ | e_mails e_mails_array_typ); | ||
+ | </source> | ||
+ | :- Para insertar datos se ocupa invocar constructor: | ||
+ | <source lang="sql"> | ||
+ | INSERT INTO employee_tab VALUES | ||
+ | (100, ‘Elka’, e_mails_array_typ(‘algo@algo.com’, ‘otro@otro.org’)); | ||
+ | </source> |
Revisió del 16:28, 17 maig 2018
Colecciones
- Oracle incluye dos tipos de colecciones:
- - Varray
- - Nested table
- Las colecciones pueden ser usadas en cualquier lugar donde se necesita definir tipo (atributo, variable, parámetro).
- Se puede definir el tipo de objeto representando la colección y después usarlo en la definición de la tabla.
Varrays
- Cada elemento tiene una posición que corresponde a la posición del elemento dentro de la colección.
- El tamaño del arreglo indica el número máximo de elementos, pero Oracle almacena tamaño variable (de acuerdo a la cantidad real de elementos que existen).
- - Por esto los arreglos se llaman varrays.
- Cada elemento es del mismo tipo.
- La creación de una colección tipo varray requiere la cláusula CREATE TYPE ... AS ARRAY OF...
CREATE TYPE e_mails_array_typ AS ARRAY OF VARCHAR2(20);
- La creación de tipo (incluyendo varray) no asigna espacio.
- Este tipo se define para usarlo como:
- - Columna de tabla relacional.
- - Atributo de UDT.
- - Variable o parámetro de la función o procedimiento.
CREATE TABLE employee_tab (
id NUMBER(5),
name VARCHAR2(35),
e_mails e_mails_array_typ);
- - Para insertar datos se ocupa invocar constructor:
INSERT INTO employee_tab VALUES
(100, ‘Elka’, e_mails_array_typ(‘algo@algo.com’, ‘otro@otro.org’));