Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Definicion Type

Estas en el tema de Definicion Type en el foro de Bases de Datos General en Foros del Web. Hola a todos, perdonen la molestia, pero hace algunos días me hicieron una pregunta y no supe como responderla, se las dejo a Uds. para ...
  #1 (permalink)  
Antiguo 19/02/2008, 12:07
 
Fecha de Ingreso: enero-2008
Mensajes: 17
Antigüedad: 16 años, 3 meses
Puntos: 0
Información Definicion Type

Hola a todos, perdonen la molestia, pero hace algunos días me hicieron una pregunta y no supe como responderla, se las dejo a Uds. para ver si me ayudan a responderla con más claridad

¿Qué es un TYPE? y por TYPE me refiero cuando uno dice CREATE TYPE....
¿Qué es la cárga útil de la estructura oracle?

Sus respuestas me serían degran ayuda.





PD: Más vale ser ignorante una vez que quedar ignorante toda una vida.
  #2 (permalink)  
Antiguo 19/02/2008, 12:55
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Re: Definicion Type

Hola,

Cita:
¿Qué es un TYPE? y por TYPE me refiero cuando uno dice CREATE TYPE....
Este es un buen tema, los objetos TYPE son la respuesta de Oracle a la programacion orientada a objetos en base de datos, tienen constructores, propiedades y metodos, las propiedades pueden ser de tipos de datos nativos, como varchar2 o number, o bien de otros TYPEs, y los metodos pueden ser procedimientos o funciones.

Por ejemplo,

Código:
SQL> CREATE OR REPLACE TYPE direcciones AS OBJECT
  2  (
  3    calle varchar2(30),
  4    numero varchar2(10),
  5    planta varchar2(10),
  6    puerta varchar2(10)
  7  )
  8  /

Type created.

SQL> 
SQL> CREATE OR REPLACE TYPE personas AS OBJECT
  2  (
  3    id number(10),
  4    nombre varchar2(30),
  5    apellido varchar2(30),
  6    direccion  direcciones,
  7    MEMBER PROCEDURE print_id,
  8    MEMBER PROCEDURE print_direccion ( SELF IN OUT NOCOPY personas )
  9  )
 10  /

Type created.

SQL> 
SQL> 
SQL> CREATE OR REPLACE TYPE BODY personas AS
  2    MEMBER PROCEDURE print_id IS
  3    BEGIN
  4      DBMS_OUTPUT.PUT_LINE(id);
  5    END;
  6    MEMBER PROCEDURE print_direccion ( SELF IN OUT NOCOPY personas ) IS
  7    BEGIN
  8      DBMS_OUTPUT.PUT_LINE(direccion.calle);
  9          DBMS_OUTPUT.PUT_LINE(direccion.numero);
 10          DBMS_OUTPUT.PUT_LINE(direccion.planta);
 11          DBMS_OUTPUT.PUT_LINE(direccion.puerta);
 12    END;
 13  END;
 14  /

Type body created.

SQL> 
SQL> DECLARE
  2    per personas;
  3  BEGIN
  4    --constructor
  5    per := personas(1, 'Nombre', 'Apellido',direcciones('Ramblas de Catalunya', '1', '2', 'A'));
  6  
  7    --mostrar atributos
  8    DBMS_OUTPUT.PUT_LINE(per.nombre || ' ' || per.apellido);
  9  
 10    --ejecutar metodos
 11    per.print_id();
 12    per.print_direccion();
 13  END;
 14  /
Nombre Apellido
1
Ramblas de Catalunya
1
2
A

PL/SQL procedure successfully completed.
Cita:
Qué es la cárga útil de la estructura oracle?
Esto no lo entiendo, ¿puede ser que sea alguna traduccion del nombre en ingles?

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:32.