sql >> Base de Datos >  >> RDS >> Oracle

Colecciones de Oracle PL/SQL:agregar elementos a una tabla existente

Aquí doy un ejemplo de un programa PL/SQL para agregar elementos a una tabla existente (colección).

Aunque una tabla no tiene restricciones, no puede asignar a un elemento que aún no existe y, por lo tanto, haría que la tabla aumentara de tamaño. si intenta hacer esto, PL/SQL generará el error "ORA-6533:Subíndice más allá de la cuenta " que es equivalente a SUBSCRIPT_BEYOND_COUNT excepción predefinida. Esto se ilustra con el siguiente ejemplo:

Ejemplo:agregar elementos a una tabla existente en PL/SQL

DECLARE
TYPE t_NumbersTab IS TABLE OF NUMBER;
v_Numbers t_NumbersTab := t_NumbersTab(1, 2, 3);
BEGIN
--v_Numbers was initialized to have 3 elements. So the
--following assignment are all legal.
v_Numbers(1) := 7;
v_Numbers(2) := -1;

--However, this assignment will raise ORA6533.
v_Numbers(4) := 4;
END;

CONSEJO

Puede aumentar el tamaño de una tabla anidada utilizando el método EXTEND.

Véase también:

  • Oracle PL/SQL:colecciones (tablas anidadas)
  • Tipo de tabla en Oracle PL SQL Ejemplo