Oracle: custom datatypes: Diferència entre les revisions

De Cacauet Wiki
Dreceres ràpides: navegació, cerca
(Insercions)
(Oracle i PHP)
 
(Hi ha 2 revisions intermèdies del mateix usuari que no es mostren)
Línia 6: Línia 6:
 
* Create type (mirar exemples del final):
 
* Create type (mirar exemples del final):
 
** http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_8001.htm
 
** http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_8001.htm
 +
* Oracle i PHP:
 +
** http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/oow10/php_db/php_db.htm
  
  
Línia 32: Línia 34:
 
Si esteu en SQLPLUS podeu fer:
 
Si esteu en SQLPLUS podeu fer:
 
   SELECT_ * FROM numeros;
 
   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;
 +
 +
 +
== Oracle i PHP ==
 +
Utiltizeu l'article:
 +
* Oracle i PHP: http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/oow10/php_db/php_db.htm
 +
 +
<div class="exercici">
 +
<big>Exercici</big>
 +
 +
Feu una web que mostri algunes consultes sobre la taula que hem creat (mostrar part real i imaginària en diferents columnes, suma de part real+imaginària, etc.).
 +
 +
IMPORTANT: recordeu que quan utilitzem objectes, en PHP no funciona el "SELECT_ *".
 +
 +
Us caldrà, per suposat, tenir instal·lar l'Apache (ja ho teniu si utilitzeu el Zend Server).
 +
 +
Feu la mateixa consulta amb 2 possibles versions, utilitzant les instruccions:
 +
* oci_fetch_all
 +
* oci_fetch_row
 +
</div>

Revisió de 17:36, 21 març 2013

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

Referències:


Creant una taula amb objectes[modifica]

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[modifica]

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[modifica]

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;


Oracle i PHP[modifica]

Utiltizeu l'article:

Exercici

Feu una web que mostri algunes consultes sobre la taula que hem creat (mostrar part real i imaginària en diferents columnes, suma de part real+imaginària, etc.).

IMPORTANT: recordeu que quan utilitzem objectes, en PHP no funciona el "SELECT_ *".

Us caldrà, per suposat, tenir instal·lar l'Apache (ja ho teniu si utilitzeu el Zend Server).

Feu la mateixa consulta amb 2 possibles versions, utilitzant les instruccions:

  • oci_fetch_all
  • oci_fetch_row