Per stampare: Clicca qui oppure seleziona File » Stampa nel menù del tuo browser.
-----------------------------------------------------------------------------------------------
Questo intervento č stato stampato da Guide di Dada.Net
raggiungibile a http://guide.dada.net
-----------------------------------------------------------------------------------------------
By Database di Andrea Silvestri
URL: http://guide.dada.net/database/interventi/2001/05/43013.shtml
Database di Andrea Silvestri guida dal 29-12-2000
Terminato con la creazione delle tabelle, vediamo come inserire i record, analizzando l'istruzione INSERT.
L'istruzione INSERT permette l'inserimento di un record in una tabella o in una vista basata su una tabella(con alcune limitazioni, trattate nell'intervento sulle viste).
Per inserire un record, completo di ogni valore per le colonne della tabella, si usa l'istruzione:
INSERT INTO tabella
VALUES (val1,val2,.....valn);
In questo modo il valore val1 verrā inserito nella prima colonna della tabella e cosi' via.
E' importante rispettare il tipo, ad esempio, se la prima colonna e' di tipo numerico non e' possibile inserire una stringa. Inoltre si devono rispettare i constraint, quindi se una colonna ha un constraint che impedisce l'inserimento di numeri negativi, un tentativo di inserire un -5 comporterebbe il fallimento dell'inserimento dell'intero record.
In fase di inserimento e' possibile definire per ogni valore la colonna in cui andra' memorizzato:
INSERT INTO tabella
(col1,col3,col9,col4)
VALUES (val1,val2,val3,val4);
In questo caso avremo che val3 verra' inserito nella col9. Le altre colonne non indicate conterranno valori nulli, per quel particolare record. Attenzione quindi ai constraint not null, le colonne cosi' definite devono essere presenti nella insert.
Con questo metodo e' possibile passare meno valori rispetto al numero di colonne, cosa che nell'esempio precedente non era consentito.
Converrebbe usare sempre questo tipo di istruzione, in quanto garantisce la correttezza dell'inserimento anche in caso di aggiunta di colonne alla tabella.
E' possibile inserire piu' record alla volta, andando a leggerli da un'altra tabella:
INSERT INTO tabella1
(col1,col2,....,coln)
AS
SELECT (col1,col2,...,coln)
FROM tabella2
WHERE.......;
Anche in questo caso i tipi delle colonne lette devono corrispondere a quelli della tabella in cui si sta inserendo.
E' possibile anche inserire un valore costante in ogni record, cosa utile, ad esempio se nella tabella dalla quale si stanno estraendo i dati non e' presente una colonna corrispondente ad una particolare colonna della tabella di destinazione, ad esempio:
INSERT INTO tabella1
(col1,col2,col3,....,coln)
AS
SELECT (col1,col2,0,....,coln)
FROM tabella2
WHERE.......;
In questo caso la terza colonna di ogni record conterra' uno zero.
La insert e' un'istruzione decisamente semplice, per quanto riguarda la parte teorica la sua trattazione puo' considerarsi conclusa. Nel prossimo intervento vedremo alcuni esempi pratici, applicati alle tabelle utilizzate in precedenza.