Post

Visualizzazione dei post da agosto, 2015

INSERT ALL - FIRST

Esistono due tipi di istruzione Multitables INSERT: UNCONDITIONAL : tutti i risultati della subquery vengono inserti nelle clausole INTO. S i n t a s s i INSERT ALL INTO nome_tabella_1 (colonna_1,..., colonna_h) VALUES (valore_1, ...valore_h) INTO nome_tabella_2 VALUES (valore_1, ...valore_g) ......... INTO nome_tabella_m subquery; R e g o l e la parola chiave ALL è obbligatoria; deve esserci almeno una clausola INTO; il campo values_n può essere un valore  o coincide con il nome della colonna estratto dalla subquery alla quale può essere applicato una funzione di conversione o formattazione;  i campi nelle clausole VALUES possono essere differenti; la clausola VALUES può essere omessa e in questo caso nella tabella viene inserito il risultato della subqyery. Quindi la suddetta tabella deve avere lo stesso numero di colonne e tipo di dati (o comunque convertibili in automatico) della subquery; la subquery deve essere sempre presente. CONDITIONAL : i risultati d

EXTERNAL TABLE (sql loader)

Le tabelle esterne sono tabelle di sola lettura e pertanto non possono essere eseguite DML e creati Indici e Constraint. I metadati della tabella sono memorizzati all'interno del database mentre i dati sono memorizzati in file al di fuori del db. E' possibile usare le utility SQL LOADER e ORACLE DATA PUMP per leggere le tabelle e caricarle nel db. Per creare una tabella esterna occorre: Creare una directory, in cui salvare il file esterno, all'interno del file system del server Oracle; Creare l'oggetto oracle del database "directory"; Dare le grant di lettura e\o scrittura della directory agli utenti che devono utilizzare la tabella esterna; Creare la tabella esterna. S i n t a s s i CREATE OR REPLACE DIRECTORY nome_directory AS riferimento_directory; "riferimento_directory" è una stringa racchiusa tra apici come ad esempio 'C:\file_ester\estr'. Non viene rilevato un errore in fase di creazione dell'oggetto Directory se la

CONSTRAINTS

I tipi di Constraints supportati da Oracle sono i seguenti: UNIQUE NOT NULL PRIMARY KEY (è l'unione della Unique e Not Null Constraint) FOREIGN KEY (definita in una tabella figlio deve far riferimento a colonne della tabella padre di tipo Unique o Primary Key; può contenere valori NULL) CHECK (definisce una condizione che ogni riga deve soddisfare) R e g o l e può essere disabilitata anche se le colonne constraint contengono dati; una Tabella può contenere una sola Primary Key ma più Foreign Key; può essere definita sia a livello di colonna che di tabella. Le prime sono incluse nella definizione delle colonne mentre le seconde sono definite alla fine della definizione della tabella; la Constraint NOT NULL non può essere definita a livello di tabella (out of Line). S i n t a s s i a livello di colonna - in Line column_name [ CONSTRAINT constraint_name ] constraint_type a  livello di tabella - out of Line CONSTRAINT constraint_name constraint_type (column_name,