--lesson 9
select *
from regions;
--Insert
--Inserindo linha em uma coluna especifica
Insert into regions (region_id)
values (6);
--Inserindo linha em todas as colunas da tabela
Insert into regions
values(7, 'Teste');
--Inserindo linha com erro na chave primaria
Insert into regions (region_id, region_name)
values (1, 'ID repetido');
commit; --fecha a transação e grava as informações
Select *
From departments;
Insert into departments (department_id, department_name, manager_id, location_id)
Values (970, 'Educacional', 100, 1700);
Insert into departments (department_id, department_name)
Values (980, 'Secretaria');
Insert into departments
Values (990, 'Recepção', null, null);
Select * from employees;
Insert into employees
(employee_id, first_name, last_name, email, phone_number, hire_date, job_id, salary, commission_pct, manager_id, department_id)
Values
(999, 'Anderson', 'Siqueira', 'anderson', '1234-1234', sysdate, 'TI_PROG', '18000', 0,100,970);
commit;
Insert into regions (region_id, region_name)
Select department_id, department_name
from departments
where department_id > 100;
select * from regions;
ROLLBACK ; --Remove as alterações realizadas na tranzação
--Update
--Atualizar valores
Select * from regions;
update regions
set region_name = 'nova região', region_id = 30
where region_id = 6;
rollback;
select employee_id, salary, job_id
from employees
where employee_id in (108, 110);
update employees
set salary = (select salary from employees e where employee_id = employees.manager_id),
job_id = (select job_id from employees e where employee_id = employees.manager_id)
where employee_id = 110;
commit;
--DELETE / TRUNCATE
Select * from regions;
Delete from regions where region_id = 30;
--SAVEPOINT - Com essa opção você pode escolher um ponto para voltar com o ROLLBACK
--Exemplo -- Executanto linha a linha é possivel acompanhar as modificações
Select * from Regions;
Delete from regions Where region_id = 7; --Apaga o registro 7
Select * from Regions;
savepoint antes_update; --Criando o Ponto de restauração
Update Regions set region_name = 'ABC' where region_id = 1;
Select * from Regions;
savepoint apos_update;
insert into regions values(9,'nova região');
Select * from Regions;
Rollback to antes_update; --Retorna ao ponto de restauração criando desfazendo o update e insert
Select * from Regions;
insert into regions values(10,'sera que funciona?');
Select * from Regions;
rollback to apos_update; --Ero pois o rollback "antes_updade", apagou a criação do savepoint "Apos_update"
Select * from Regions;
update regions set region_name = region_name || '2' where region_id = 1;
Select * from Regions;
commit;
Select * from Regions;
rollback; --retorna tudo que foi feito na transação antes do "commit"
-------------------------------------------------------------
--Read Consistency - Leitura do dado real (consistencia da informação)
Select * From regions;
update regions set region_name = 'ABC' where region_id = 2;
commit;
/* usando sqlplus
Select * from regions for update
--fica aguardando o commit quem iniciou a transação com o update
*/
Fiquem a vontade para comentar e sugerir melhorias e/ou correção dos exemplos acima.
Nenhum comentário:
Postar um comentário