domingo, 18 de mayo de 2014
DBOR Bases de Datos Objecte-Relacionals
Instrucciones basicas en SQL para la creación de objetos y tablas de objetos:
Comentario de texto en SQL se hace con 2 guiones "--" al pricipio de la linea!
1. crear un objeto
-- Para heredar de un objeto creado, se le tiene que especificar "NOT FINAL" .
CREATE OR REPLACE TYPE nom_objeto AS OBJECT (
atributo1 VARCHAR2(123) [, atributo2 NUMBER(2) ] [ ,atributo3 DATE] ,
MEMBER FUNCTION getAtributo1 return VARCHAR2,
MEMBER PROCEDURE setAtributo1(nuevoValor VARCHAR2),
) NOT FINAL ;
Ejemplo, heredar del objeto "nom_objeto":
CREATE OR REPLACE TYPE nom_objeto2 UNDER nom_objeto (
--atributos
--declaración de metodos
);
2. definir los metodos de cada objeto creado :
CREATE OR REPLACE TYPE BODY nom_objeto AS
MEMBER FUNCTION getAtributo1 RETURN VARCHAR AS
--entre "as" y "begin" inicializar variables de esta funcion, si hace falta.
BEGIN
RETURN SELF.atributo1;
END getAtributo;
MEMBER PROCEDURE setAtributo1(nuevoValor VARCHAR2) AS
BEGIN
SELF.atributo1 : = nuevoValor ;
END setAtributo;
END;
3. Crear tabla de este objeto :
CREATE TABLE nomTabla OF nom_objeto( PRIMARY KEY(atributo1));
INSERT INTO nomTabla VALUES('valor del atributo1 del objeto' );
INSERT INTO nomTabla VALUES('hola ' );
INSERT INTO nomTabla VALUES('mundooo ' );
SELECT * FROM nomTabla T WHERE T.atributo1 = ' hola ' ;
result :
ATRIBUTO1
---------------------------------------------------
hola
La función VALUE sirve para obtener la misma estructura del tipo de objeto de una tabla. En un select normal se obtiene los valores de los atributos, mietras que utilizando la funcion value() se obtiene el objeto entero .
SELCET VALUE(P) FROM nomTabla P ;
result:
VALUE(P)
---------------------------------------------------
SYSTEM.ATRIBUTO1(' valor del atributo del objeto ')
SYSTEM.ATRIBUTO1(' hola')
SYSTEM.ATRIBUTO1(' mundo ')
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario