M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Solucions T9
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;