Durante el uso de DM PL / SQL, si queremos almacenar un solo dato, podemos almacenarlo declarando variables. Si queremos almacenar una sola fila y múltiples columnas de datos, podemos usar el tipo de registro (registro), si queremos Para guardar datos en una sola columna y varias filas, puede usar el tipo de colección para almacenarlos. Este artículo le presentará varios tipos de colecciones de uso común en la base de datos Dameng y sus características.
1. Tabla de índice
Las características de la tabla de índice:
1. Puede utilizar números o letras como subíndices
2. Puede utilizar números negativos cuando utilice números como subíndices.
3. Solo se puede usar en un bloque PL / SQL y no se puede usar como un campo de tabla
Hagamos algunas pruebas, en primer lugar, la tabla de índice con números como subíndices
declarar
type index_tab_type es una tabla de varchar (30) index by int;
v_table index_tab_type;
empezar
v_table (-1): = 'hola'; - Establece el valor del elemento cuyo subíndice es -1
v_table (1): = 'and'; - establece el valor del elemento cuyo subíndice es 1
v_table (5): = 'mundo';
print ('El número de elementos es:' || v_table.count);
print ('El primer elemento es' || v_table (v_table. first )); - muestra el primer elemento
print ('El último elemento es' || v_table (v_table. last )); - muestra el último elemento
terminar ;
Los resultados de la ejecución son los siguientes
Luego hay una tabla de índice con letras como subíndices
declarar
type index_tab_type es una tabla de varchar (30) index by varchar (1);
v_table index_tab_type;
empezar
v_table ('a'): = 'hello'; - Establece el valor del elemento cuyo subíndice es -1
v_table ('c'): = 'mundo';
print ('Número de elementos:' || v_table.count);
print ('primer elemento' || v_table (v_table. primero ));
print ('último elemento' || v_table (v_table. last ));
terminar ;
Resultado de salida
Puede verse que cuando se utilizan caracteres como subíndices, el almacenamiento de la tabla de índice es similar al almacenamiento de valores-clave
2. Varray (matriz de longitud variable)
Características de Varray:
1. La capacidad máxima debe declararse al declarar.
2. Se requiere inicialización para el primer uso.
3. El tamaño real es 0 durante la inicialización y es necesario utilizar el método de extensión para expandir el límite superior para aumentar el elemento.
Aquí cambiamos de otra forma, guardamos los nombres de 5 personas con ID de 1001 a 1005 en la tabla de empleados en la biblioteca de muestra DMHR en este varray, la prueba es la siguiente
DECLARAR
TYPE MY_ARRAY_TYPE IS VARRAY (10) OF VARCHAR (100); - Declara un varray con una capacidad máxima de 100
v MY_ARRAY_TYPE;
EMPEZAR
v: = MY_ARRAY_TYPE (); --Inicializar varray
PARA I EN 1..5 BUCLE
v.EXTEND ();: límite de expansión
SELECT employee_name EN v (I) DE dmhr.employee
DONDE employee_id = 1000 + i;
END LOOP ;
PRINT 'v.COUNT () =' || v.COUNT ();
PARA I EN 1..v.COUNT () LOOP
PRINT 'v (' || i || ') =' || v (i);
END LOOP ;
FIN ;
Resultado de salida
Cabe señalar que cuando se usa varray, se debe usar extender para expandir el límite superior, de lo contrario habrá un error de que el subíndice de la colección está fuera de rango.
Por razones de espacio, el contenido de este número está aquí. En el próximo número de compartir, continuaremos presentándole el uso de tablas anidadas y tipos de arreglos, así que estad atentos.