martes, 21 de junio de 2011

Tunning SQL Oracle: 5ta Sesión

9. Particionamiento

ILM para segmentar la información de acuerdo al valor de la información.

Tipo de Particionamiento:
Range
Hash
List


10. Hizo el Insert a múltiples tablas con un solo select

11. Merge




PL/SQL Programming Concepts: Review

Erores predefinidos en el Package DBMS_STANDARD
- Ahi también se pueden encontrar los tipos de datos.



CREATE TABLE PERSONAS_ORIGEN AS
SELECT CUST_ID, CUST_LAST_NAME
FROM CUSTOMERS
WHERE CUST_CITY = 'Torrevieja'
AND CUST_YEAR_OF_BIRTH = '1977';

CREATE TABLE PERSONAS_DESTINO AS
SELECT *
FROM PERSONAS_ORIGEN

ALTER TABLE PERSONAS_DESTINO
ADD CONSTRAINT PK_PERSONAS
PRIMARY KEY (CUST_ID)

Agregamos un registro adicional a PERSONAS_ORIGEN... luego

INSERT INTO PERSONAS_DESTINO
SELECT * FROM PERSONAS_ORIGEN;

Devuelve Error

Vamos a configurar un log:

BEGIN
DBMS_ERRLOG.CREATE_ERROR_LOG('PERSONAS_DESTINO');
END;

Ahora:

INSERT INTO PERSONAS_DESTINO
SELECT *
FROM PEROSNAS_ORIGEN
LOG ERRORS
REJECT LIMIT UNLIMITED


Trabajando con Colecciones

Nested Table

DECLARE
TYPE typTelefonos IS TABLE OF VARCHAR2(20);
vTelefonos typTelefonos;

BEGIN
vTelefonos :=typTelefonos('888888888','999999999','111111111')
--FOR i IN 1..vTelefonos.COUNT LOOP
FOR i IN vTelefonos.FIRST..vTelefonos.LAST LOOP
   DBMS_OUTPUT_LINE(vTelefonos(i));
END LOOP;
END;

No respeta el orden, no garantiza el ordenamiento
Lo almacena fuera del segmento


VARRAY

Size es definido
Siempre es denso
Garantiza el orden

No hay comentarios:

Publicar un comentario