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

Fiquei confusa

na aula o professor digitou o seguinte comando:

DELETE FROM PRODUTOS WHERE TAMANHO = '1 Litro' AND SUBSTRING(DESCRITOR,1,15) = 'Sabor dos Alpes';

e todos os produtos descrito no comando foram excluídos, não era para excluir apenas um como está na descrição do comando?

2 respostas
solução!

Suellen,

Não é bem assim... eu explico.

Todos os registros que atendam o que está descrito na cláusula WHERE serão deletados.

No caso precisa ser:

1 - Todos que tenham escrito no campo TAMANHO o texto '1 Litro';

E

2 - Todos que COMEÇAM na posição 1 ATÉ a posição 15 o texto: 'Sabor dos Alpes' no campo DESCRITOR.

E isto pode ocorrer com mais de um registro.

DELETE FROM PRODUTOS 
WHERE TAMANHO = '1 Litro'
   AND SUBSTRING(DESCRITOR,1,15) = 'Sabor dos Alpes';

A única forma de GARANTIR que somente um registro seja deletado, é preciso colocar na cláusula WHERE um campo que seja PK (Primary Key - Chave Primária).

Exemplo... Se no campo TAMANHO estiver escrito ERRADO... '1 Litros', por exemplo, este registro NÃO será excluído, é por isso que DBAs, DAs e programadores 'pure back-end' às vezes ficam nervosos... às vezes... KKKKK!!!

[]'s,

Fabio I.

Obrigado por me pontuar Suellen!