M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Solucions T9

De wikiserver
Dreceres ràpides: navegació, cerca

1. Executa el script p9_1.sql per crear la taula MY_EMPLOYEE.

start p9_1.sql

2. Mostra l'estructura de la taula MY_EMPLOYEE:

DESCRIBE MY_EMPLOYEE;

3. Afegeix el primer registre del exemple següent. No explicitis les columnes en la clàusula INSERT.

INSERT INTO my_employee
VALUES (1,'Patel', 'Ralph', 'rpatel',895);

4. Afegeix el segon registre del exemple anterior. Explicita les columnes en la clàusula INSERT.

INSERT INTO my_employee(id, last_name, first_name, userid, salary)
VALUES (2,'Dancs', 'Betty', 'bdancs',860);

5. Mostra les dades afegides i comprova que són correctes.

SELECT *
FROM my_employee;

6. Fes un script anomenat loademp.sql per afegir registres en la taula MY_EMPLOYEE de forma interactiva. Pregunta a l'usuari pel identificador, nom, cognom i salari de l'empleat. Concatena la primera lletra del nom i les primeres set lletres del cognom, per obtenir al seu "userid".

ACCEPT Identificador PROMPT 'Identificador: '
ACCEPT Cognom PROMPT 'Cognom: '
ACCEPT Nom PROMPT 'Nom: '
ACCEPT Sou PROMPT 'Sou: '
INSERT INTO my_employee
VALUES (&Identificador,Initcap('&Cognom'), InitCap('&Nom'),
       lower(substr('&Nom',1,1))||lower(substr('&Cognom',1,7)),&Sou);

7. Afegeix a la taula MY_EMPLOYEE els dos registres següents del exemple anterior, executant el script.

START loademp.sql

8. Confirma que les dades s'han afegit correctament.

SELECT *
FROM my_employee

9. Feu commit per fer que les insercions siguin permanents.

COMMIT;

Modifica i elimina dades de la taula MY_EMPLOYEE:

10. Canvia el cognom del empleat número 3 a "Drexter".

UPDATE my_employee
SET last_name='Drexler'
WHERE id=3;

11. Per a tots els empleats amb salari menor a 900 $, assigna'ls un salari de 1000 $.

UPDATE my_employee
SET salary = 1000
WHERE salary < 900;

12. Comprova els canvis realitzat a la taula MY_EMPLOYEE.

SELECT last_name, salary
FROM my_employee

13. Elimina a "Betty Dancs" de la taula MY_EMPLOYEE.

DELETE
FROM my_employee
WHERE last_name= 'Dancs';

14. Comprova els canvis realitzat a la taula MY_EMPLOYEE.

SELECT *
FROM my_employee;

15. Fes commit dels canvis pendents.

COMMIT;

Controla les transaccions de la taula MY_EMPLOYEE:

16. Afegeix a la taula l'últim registre del exemple, executant el script creat en l'apartat 6.

START loademp.sql

17. Comprova que les dades s'han afegit correctament.

SELECT *
FROM my_employee;

18. Marca un punt intermedi en el procés de la transacció.

SAVEPOINT a;

19. Elimina tots els registres de la taula MY_EMPLOYEE.

DELETE
FROM my_employee;

20. Comprova que no hi ha cap registre a la taula.

SELECT *
FROM my_employee;

21. Descarta l'operació de eliminació més recent, sense descarta la inserció prèvia.

ROLLBACK TO a;

22. Comprova l'estat de la taula.

SELECT *
FROM my_employee;

23. Fes permanents els canvis pendents.

COMMIT;