Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

0 LINHAS AFETADAS

iSSO SERIA POR CONTA DA FK E PK RELACIONADAS AS TABELAS, MAS SE FOSSE O SQL IRIA APRESENTAR MENSAGEM DE ERRO, NÃO ?

COMANDO UTILIZADO

DELETE A from NOTAS A inner join CLIENTES B on a.cpf = b.cpf WHERE B.IDADE < 18

3 respostas

Olá Danilo, tudo bem?

Isso mesmo, se fosse problemas na FK ou na PK um erro ocorreria, neste caso, não foi encontrado registros que satisfaça a condição do select, então você poderia realizar algumas verificações, realizar um select na sua tabela de CLIENTES para descobrir o CPF do cliente que tem menos de 18 anos , realizar um outro select na tabela de NOTAS e verificar se realmente existe registros com o CPF, dessa forma:

  • Select na tabela de clientes para descobrir os clientes que tenham idade abaixo de 18 anos:
SELECT *  FROM clientes WHERE idade < 18;
  • Select na tabela de notas para verificar se existe registros na tabela com esse CPF:
SELECT *  FROM  notas WHERE cpf = "CPF RETORNADA NO SELECT ANTERIOR";

Aguardo o seu retorno!

Oi Danielle, obrigado pela ajuda.

Eu vi que na tabela notas não tinha um cpf igual a tabela de clientes que era menor que idade de 18 anos.

ai eu fiz um insert na tabela notas com o cpf que estava inserido na tabela de clientes que era com a idade menor que 18 anos e testei o código sql e deu certo.

segue abaixo:

SELECT * FROM clientes WHERE idade < 18

select * from NOTAS where CPF = '95939180787'

insert into NOTAS values ('900','2015-01-01','95939180787','237',0.1)

DELETE A from [NOTAS] A inner join [CLIENTES] B on A.[CPF] = B.[CPF] WHERE B.[IDADE] < 18

select * from NOTAS where CPF = '95939180787'

obrigado pela ajuda.

solução!

Que legal Danilo, você ter conseguido realizar o teste e ainda disponibilizou os comandos aqui :).

Fico feliz em ter ajudado Danilo, qualquer nova dúvida é só falar e bons estudos!