Oracle: custom datatypes

De Cacauet Wiki
Salta a la navegació Salta a la cerca

Descarrega't del moodle el PDF amb l'exercici dels nombres complexes.

Referències:


Creant una taula amb objectes

Suposem que tenim creat el type Complex. Podem crear una taula amb:

CREATE_ TABLE_ numeros (
   idnum int primary key,
   numero Complex );

NOTA: no cal posar els underscores o "_", és perquè la wiki donava error.


Insercions

INSERT_ INTO numeros VALUES(1,Complex(4,22));
INSERT_ INTO numeros VALUES(2,Complex(2.11,1.2));

Com podeu veure poden ser nombres sencers o reals (flotants). ... afegiu mes nombres ...


Querys

Per fer querys amb objectes:

  • S'ha de posar parèntesis en el camp que és objecte i accedir a l'atribut en questió.
  • El "SELECT_ *" no funcionarà en PHP o altres llenguatges ja que no poden visualitzar tipus de dades objecte. Cal que accedirm a l'atribut. Per exemple:

Si esteu en SQLPLUS podeu fer:

 SELECT_ * FROM numeros;


Però si estem en PHP caldrà fer sentències on explicitem l'atribut concret de l'objecte:

SELECT_ idnum, (numero).rpart FROM numeros;

Visualitzem part real i imaginària:

SELECT_ (numero).rpart, (numero).ipart FROM numeros;

Sumem el mateix numero (multipliquem per 2!) i mostrem part real:

SELECT_ (numero).plus(numero).rpart FROM numeros;

Sumem totes les parts reals dels nombres de la taula:

SELECT_ sum((numero).rpart) FROM numeros;