1. 22/07/04 Ing. Ronchi Sergio 1
INSERIMENTO
Inserimento dati:
INSERT INTO PRODOTTI (NOME, PREZZO)
VALUES ('Notebook',1000.50);
INSERT INTO PRODOTTI (NOME, PREZZO)
SELECT 'Scheda di Rete',45.50;
INSERT INTO CLIENTI (CODCLI, NOME, INDIRIZZO)
SELECT CODICE,RAGSOC,INDIRIZZO FROM ANAGRAFICA
Note:
• omettendo dei campi si otterrà come dato un NULL, tuttavia è anche
possibile inserire esplicitamente NULL
• E’ possibile inserire dei valori speciali come SYSDATE
• Per le date è possibile usare la funzione TO_DATE ad esempio:
TO_DATE(‘Feb 3, 1999’,’MON DD, YYYY’)
2. 22/07/04 Ing. Ronchi Sergio 2
INSERIMENTO
Inserimento dati parametrici (script):
INSERT INTO PRODOTTI (NOME, PREZZO)
VALUES (&nome,&prezzo);
Questo permetterà di fare in modo che l’utente riceva un promt di questo
tipo:
Immettere un valore per nome: HD 160GB
Immettere un valore per prezzo: 140.50
3. 22/07/04 Ing. Ronchi Sergio 3
CANCELLAZIONE
Eliminazione:
DELETE FROM PRODOTTI
WHERE CODPRO=999;
DELETE FROM ANAGRAFICA
WHERE YEAR(Data)<1900 AND PROVINCIA=‘MI’;
//elimina tutti I dati e rilascia lo spazio occupato cosa non effettuata
dal DELETE
TRUNCATE TABLE PRODOTTI;
4. 22/07/04 Ing. Ronchi Sergio 4
AGGIORNAMENTO
Aggiornamento dati:
modifica il nome del prodotto con codice 23
UPDATE PRODOTTI SET
NOME='Hard Disk'
WHERE CODPRO=23;
modifica il prezzo, aumentandolo del 10%, di tutti i prodotti
UPDATE PRODOTTI SET
PREZZO=PREZZO*1.1;
modifica il prezzo, aumentandolo del 20% e la descrizione dei prodotti
con codice maggiore di 100
UPDATE PRODOTTI SET
PREZZO=PREZZO*1.2,
DESCRIZIONE ='Lusso'
WHERE CODPRO>100;
5. 22/07/04 Ing. Ronchi Sergio 5
AGGIORNAMENTO
Aggiornamento dati con una sottoquery:
modifica il nome del prodotto con codice 23
UPDATE PRODOTTI SET
NOME=(SELECT NOME FROM PRODOTTI
WHERE CODPRO=100)
WHERE CODPRO=23;
E’ anche possibile usare nella sottoquery altre tabelle.
6. 22/07/04 Ing. Ronchi Sergio 6
MERGE
Permette di realizzare un insert se il dato non esiste o un update se esiste
già.
MERGE INTO copy_emp AS c
USING employee e
ON (c.employee_id=e.employee_id)
WHEN MATCHED THEN
UPDATE SET
c.firstname=e.firsname
.........
WHEN NOT MATCHED THEN
INSERT VALUE (e.employee_id,.........)
7. 22/07/04 Ing. Ronchi Sergio 6
MERGE
Permette di realizzare un insert se il dato non esiste o un update se esiste
già.
MERGE INTO copy_emp AS c
USING employee e
ON (c.employee_id=e.employee_id)
WHEN MATCHED THEN
UPDATE SET
c.firstname=e.firsname
.........
WHEN NOT MATCHED THEN
INSERT VALUE (e.employee_id,.........)