Post

Visualizzazione dei post da luglio, 2014

Operatore UNION

L'operatore UNION restituisce tutte le righe da due query ed eliminale righe duplicate. Di default il risultato è in ordine DESC secondo le colonne della istruzione Select. S i n t a s s i select colonna1, ...colonnau from tabella1 UNION select colonna1, ...colonnau from tabella2; R e g o l e - il numero di colonne selezionate deve essere lo stesso - il tipo di dati delle colonne selezionate deve essere dello stesso tipo di dati - i nomi delle colonne non è necessario che siano identici - l'operatore Union opera su tutte le colonne selezionate - i valori Null non vengono ignorati durante il controllo dei duplicati L' operatore UNION ALL restituisce le righe dalle due query senza ordinarle e senza rimuovere i duplicati. Restituisce le righe raggruppate da ogni query secondo il loro ordine naturale. Il comportamento può essere modificato aggiungendo la clausola ORDER BY alla fine della statement e seguita dai nomi delle colonne o dagli alias indicata nella p

Operatore MULTIPLE-ROW: All - ANY- IN

Gli Operatori Multiple-Row utilizzati per confrontare una lista di valori o il risultato di una subquery: IN             corrisponde all'uguaglianza NOT IN     esclude gli elementi di una lista ANY        restituisce le righe che uguagliano un qualsiasi valore della lista ALL         restituisce le righe che uguagliano tutti i valori della lista Se si utilizzano subquery come nell'esempio seguente select * from table1 where column1 > ALL (select column from table2 where...); I suddetti operatori hanno il seguente significato: < ANY minore del più alto > ANY maggiore del più basso = ANY equivale a IN > ALL maggiore del più alto < ALL minore del più basso L'operatore NOT può essere utilizzato con IN, ANY e ALL.

Operatore MINUS

L'operatore MINUS restituisce soltanto le righe presenti nella prima query e non nella seconda ed elimina i duplicati.  Il risultato è ordinato secondo le colonne della Select, da sinistra a destra, ed in ordine ascendente a meno che non si usi la clausola ORDER BY. L'operatore esegue entrambe le query, ordina i risultati e restituisce solo il primo risultato non presente nel secondo. S i n t a s s i select colonna1, ...colonnau from tabella1 MINUS select colonna1, ...colonnau from tabella2;

Operatore INTERSECT

L' operatore INTERSECT restituisce soltanto le righe comuni a più query ed elimina i duplicati. Non ignora i valori NULL. Il numero di colonne e il tipo di dato deve essere lo stesso per tutte le Select presenti nella query. Il risultato è ordinato secondo le colonne della Select, da sinistra a destra ed in ordine ascendente a meno che non si usi la clausola ORDER BY. S i n t a s s i select colonna1, ...colonnau from tabella1 INTERSECT select colonna1, ...colonnau from tabella2;

CONSTRAINTS: ON DELETE CASCADE

La regola ON DELETE CASCADE è utilizzata a livello di Foreign Key. Permette di eseguire l'istruzione DELETE di righe di una tabella padre referenziata senza dover cancellare prima le corrispondenti righe della tabella figlio. Ogni DELETE delle righe della tabella padre cancella anche le corrispondenti righe della tabella figlio. E s e m p i o CREATE TABLE ESEMPIO1    (      IDESE1 number,    NOME varchar2(10 byte),    COGNOME varchar2(10 byte),     constraint ESE1_PK primary key (IDESE1)    ); 198    Donald            OConnell 199    Douglas          Grant 200    Jennifer          Whalen 201    Michael          Hartstein 202    Pat                Fay 203    Susan            Mavris 204    Hermann        Baer 205    Shelley          Higgins 206    William          Gietz CREATE TABLE ESEMPIO2    (      IDESE2 number,    NOME varchar2(10 byte),    COGNOME varchar2(10 byte),    constraint ESE2_PK FOREIGN KEY (IDESE2) REFERENCES ESEMPIO1(IDESE1)    ); 204

NLS_DATE_FORMAT

NLS_DATE_FORMAT specifica il formato di default del tipo DATE da usare con le funzioni TO_CHAR e TO_DATE. Il valore di default è daterminato da NLS_TERRITORY. E' possibile visualizzare il valore impostato a livello di sessione e globale. A livello di Sessione select value from NLS_SESSION_PARAMETERS where parameter = 'NLS_DATE_FORMAT'; VALUE --------------------- DD-MM-YYYY HH24:MI:SS E' possibile modificarlo a livello di sessione con il comando: ALTER SESSION SET NLS_DATE_FORMAT= 'YYYYMMDD';  A livello Globale select value from NLS_DATABASE_PARAMETERS where parameter ='NLS_DATE_FORMAT'; VALUE --------------------- DD-MON-RR