Commenti recenti

lunedì, 20 ottobre 2008

Advertising

Ho aggiunto uno spazio pubblicitario, ho ceduto anche io. La motivazione è sempre la solita: tirar su due soldi dal proprio sito, che sia un blog o che sia qualcos'altro.

Che poi, in realtà, è un esperimento anche questo, come tutto il resto di ciò che viene pubblicato su questo spazio.

Spero non sia di eccessivo disturbo.

postato da: giafai alle ore 10:23 | link | commenti
categorie: blog

query oracle

Oracle mette a disposizione una tipologia di query molto interessante. Permette di creare strutture padre-figlio dicendo al motore database da quale valore partire e quale campo utilizzare per definire la struttura.

Un esempio di query è la seguente:

SELECT campo1
    FROM tabella
    START WITH campoX = valore
    CONNECT BY PRIOR campoX = campoY

Ad esempio, se avessimo la seguente tabella

campo1 campoX campoY
Verde 1 0
Rosso 2 1
Beige 3 1
Nero 4 0
Bianco 5 1

Il risultato della query sarebbe questo:

Verde
   Rosso
   Beige
   Bianco
Nero

Davvero semplice. La parte iniziale è una select normale, START WITH imposta il valore iniziale del campo, e CONNECT By PRIOR serve, appunto, a dire ad Oracle quali campi utilizzare per definire la struttura, dove CampoX è il padre e CampoY è il figlio.

Se avessimo bisogno di inserire delle condizioni WHERE, sarebbe sufficiente aggiungerle dopo FROM tabella. Se, invece, avessimo bisogno di ordinare i risultati? La cosa è un po' più complicata, aggiungendo un semplice ORDER BY, i risultati verranno ordinati per il campo scelto, ma verrà persa la struttura padre-figlio, dato che Oracle non ne terrà conto nell'ordinamento.

Se volessimo, ad esempio, ordinare i precedenti risultati alfabeticamente, il risultato sarebbe questo:


   Beige
   Bianco
Nero
   Rosso
Verde

Per ovviare a questo problema, basta aggiungere ORDER SIBLINGS BY campoZ alla fine della query:

SELECT campo1, campo2
    FROM tabella
    START WITH campoX = valore
    CONNECT BY PRIOR campoX = campoY
    ORDER SIBLINGS BY campoZ


Che dice ad Oracle di ordinare i risultati a seconda del sottolivello in cui si trovano. Adesso il risultato è corretto ed è:


Nero
Verde
   Beige
   Bianco
   Rosso

postato da: giafai alle ore 09:44 | link | commenti
categorie: oracle, programmazione, query
martedì, 14 ottobre 2008

Ripassiamo un po' l'html

Ieri, nel quotidiano lavoro di correzione di un sito realizzato da altri, mi sono imbattuto in una pagina incentrata su un modulo per la raccolta di alcuni dati. Questo, parte del codice:

<table width="80%" cellspacing="10" cellpadding="0" border="0" align="center">
        <tr>
            <td nowrap width="25%" align="right">* Pubblicazione</td>
            <td><input class="form300" maxlength="200" size="32" name="pubblicazione"></td>
        </tr>
        <tr>
            <td nowrap align="right">Titolo</td>
            <td><input class="form300" maxlength="200" size="32" name="titolo"></td>
        </tr>
        <tr>
            <td nowrap align="right">Autore</td>
            <td><input class="form200" maxlength="30" size="21" name="autore"></td>
        </tr>
        <tr>
            <td nowrap align="right">* Anno</td>
            <td><input class="form50" maxlength="4" size="3" name="anno"></td>
        </tr>
        <tr>
            <td nowrap align="right">* Volume</td>
            <td><input class="form50" maxlength="10" size="3" name="volume"></td>
        </tr>
        <tr>
            <td nowrap align="right">Numero</td>
            <td><input class="form50" maxlength="10" size="3" name="numero"></td>
        </tr>
        <tr>
            <td nowrap align="right">* Pagina</td>
            <td><input class="form50" maxlength="5" size="3" name="pagina"></td>
        </tr>
</table>


A parte il cattivo gusto di utilizzare un layout tabellare, che da parte mia non verrà intaccato per non complicarmi la vita (dovrei rifare tutto) e perché il browser su cui deve funzionare è il nuovissimo Internet Explorer 6 (si, si, avete letto proprio bene!!). A parte il layout, dicevo, non notate nient'altro? No, non è la mancanza del tag form, semplicemente non l'ho riportato.
Quei tag input... hanno il name, hanno il size, hanno addirittura il maxlength e il class, ma manca l'attributo principale: il type! Per fortuna che i browser son gentili e si prendono il type di default ("text"), ma non sarebbe male scrivercelo!
postato da: giafai alle ore 10:08 | link | commenti (1)
categorie: html, programmazione

.Paytowork.net.