vineri, 20 februarie 2015

23-27.02

 ACTIVITATE DE PREDARE-INVATARE-35 min

Suport de curs<<descarca>>

MODIFICAREA INREGISTRARILOR 
comanda UPDATE

Pentru modificarea continutului uneia sau a mai multor coloane dintr-o inregistrare existenta este  folosita instructiunea UPDATE, cu urmatoarea sintaxa: 

UPDATE [LOW_PRIORITY] nume_tabel

SET actualizare

[WHERE conditie] [LIMIT randuri]

unde:

  • nume_tabel: numele tabelului ale carui inregistrari urmeaza a fi actualizate;
  • actualizare: indica modificarile ce trebuie operate, prezentandu-se sub forma de perechi coloana – valoare (col1 = ’val_noua_1’, col2 = ’val_noua_2’);
  • conditie: indica conditia ce trebuie indeplinita pentru ca modificarile sa se rasfranga asupra anumitor inregistrari; in cazul in care lipseste, modificarile vor afecta intregul tabel.
Clauza LIMIT specifica numarul maxim de inregistrari care vor fi actualizate. 
Clauza LOW_PRIORITY amana executia instructiunii UPDATE pana cand nici un utilizator nu mai citeste din tabelul care trebuie actualizat.
Clauza WHERE este optionala, fiind folosita pentru a crea instructiuni UPDATE conditionale. Este similara cu folosirea clauzei WHERE in cadrul instructiunilor SELECT, putandu-se folosi toti operatorii de comparatie si cei logici, cum ar fi: =, >, <, OR si AND


!!! Omiterea clauzei WHERE duce la actualizarea tuturor înregistrărilor din tabelă

Exemple:
UPDATE suppliers SET zip = ‘99999’ WHERE zip = ‘95460’
UPDATE coffees SET price = 9.99 WHERE price<=5.0

ACTIVITATE FIXARE CUNOSTINTE-15 min


Exemple:

1) Să se modifice câmpul NRSAL din tabela SALARIAŢI, pentru depozitul cu codul 130000, atribuindu-i valoarea 11.

SQL> UPDATE SALARIAŢI SET NRSAL=11 WHERE CODD= 130000;

1 record updated.

2) Să se modifice data de livrare, cantitatea solicitată şi preţul de livrare pentru produsul cu codul 13333 din comanda cu numărul 211111.

SQL> UPDATE COMENZI SET DATAL=SYSDATE,CANT=50, PRET=42000 WHERE CODP=13333 AND NRCOM=211111;
1 record updated.
3) Să se modifice data de livrare cu data actuală pentru toate produsele cu codul egal cu 13333, din toate comenzile.
SQL> UPDATE COMENZI SET DATAL=SYSDATE WHERE CODP=13333;
1 record updated.
4) Să se mărească salariul cu 15% pentru salariaţii care au o funcţie identică cu CARMEN ANA.
SQL> UPDATE SALARIAŢI SET SALA=SALA*1.15 WHERE FUNCT IN (SELECT FUNCT FROM SALARIAŢI WHERE NUME='CARMEN ANA');
11 records updated.
 

Niciun comentariu:

Trimiteți un comentariu