-- Escrevendo comandos de Atualização das tabelas da Base de Dados.
-- Inclusão
-- Sintaxe: INSERT INTO <tab> [(lista de campos)] VALUES (valores)[,()...,()];
-- Exemplos:
insert into pacientes (cppaciente,dtcadpaciente,dtnascpaciente,txnomepaciente)
       values (1,'2024-08-21','1998-03-25','José Antonio da Silva');
insert into pacientes (cppaciente,dtcadpaciente,dtnascpaciente,txnomepaciente)
       values (2,'2024-08-21','1995-03-15','Ana Maria da Silva'),
              (3,'2024-08-21','1995-03-25','Beatriz Nunes de Almeida') ;
-- consultando as linhas da tabela pacientes
select * from pacientes; -- este comando é uma seleção com o WHERE omitido
-- ----------------------------------------------------------------------------------------------------------
-- Exclusão
-- Sintaxe: delete from <tab> [where <condição>];
-- Exemplos
delete from pacientes; -- Executando a exclusão SEM VERIFICAÇÃO com o WHERE.
-- Executando uma exclusão 'dentro' de uma transação
-- iniciando a transação
BEGIN TRANSACTION;
delete from pacientes where dtnascpaciente between '1995-01-01' and '1995-12-31';
select * from pacientes;
-- concluir (salvando a operação)
commit;
-- cancelando a operação
rollback;
-- ----------------------------------------------------------------------------------------------------------
-- Alteração
-- Sintaxe: UPDATE <tab> SET <atribuições> [WHERE <condição>
--          Atribuições =>  CAMPO = Valor
--          Condições   =>  Campo = valor
-- Exemplos
BEGIN TRANSACTION;
insert into pacientes (cppaciente,dtcadpaciente,dtnascpaciente,txnomepaciente)
       values (2,'2024-08-21','1995-03-15','Ana Maria da Silva'),
              (3,'2024-08-21','1995-03-25','Beatriz Nunes de Almeida') ;
update pacientes SET txnomepaciente='Mario de Andrade'
                 WHERE cppaciente=1 or cppaciente=3;
commit;
rollback;
select * from pacientes;

-- ----------------------------------------------------------------------------------------------------------
-- Exercicio de Pratica de CMD
BEGIN TRANSACTION;
-- insert
-- update
-- delete

commit;
rollback;