Publicidade

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Duzao®

Como deletar todos os registros da Tabela?

Olá pessoal...

 

Eu gostaria de criar um código onde eu deletasse todos os registros de uma determinada tabela(No exemplo irei mencionar TB_CLIENTE).

 

Se eu fizer "DELETE FROM TB_CLIENTE", irá dar erro de FK, pois alguns registros existem correspondencias em outras tabelas...

 

Entao...Gostaria de deletar todos e deixar somente os registros que já tem uma chave correspondente em uma outra tabela(FK).

 

Em Oracle eu sei fazer isso... simples:

 

DECLARE

 CURSOR c_Temp IS
  SELECT  cd, 
		  nm, 
		  sg, 
		  dt_inclusao, 
		  usu_inclusao, 
		  dt_ultima_atualizacao, 
		  usu_id_atualizacao, 
		  no_camara, 
		  ic_desativado, 
		  ic_nao_act 
  FROM TB_CLIENTE
  ORDER BY cd;
  
  r_Temp  c_Temp%ROWTYPE;

Begin
		
  OPEN c_Temp;
  LOOP
  
  FETCH c_Temp INTO r_temp;
  EXIT WHEN c_Temp%NOTFOUND;
		
	 BEGIN
		DELETE FROM TB_CLIENTE WHERE CD = r_temp.CD;
	 EXCEPTION
		WHEN OTHERS THEN NULL;
	 end;
	  
  END LOOP;
  CLOSE c_Temp;

  COMMIT;
end;

 

Se possivel, seria interessante deletar TODOS...nao somente os que nao tem correspondente em outra tabela...

Mas seria interessante se alguem me ajudasse com a SINTAXE neste código.

 

Obrigado.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha só... Você pode dar um comando assim...

 

DELETE FROM CLIENTES

WHERE cod_clientes not in (select cod_clientes from PRODUTOS);

 

Essa sintaxe funciona no SQL Server, não tentei ainda no MySQL, mas talvez te ajude.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Próximos Eventos