Ir para conteúdo

Arquivado

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

pvpzaum

Deletar dado depois de transferir

Recommended Posts

Olá pessoal eu estava com um problema em que eu precisava transferir dados de uma tabela para outra. Até ae tudo bem eu consegui achar um forma de tranferir a coluna, mas eu preciso que depois de tranferir da tabelaX para a tabelaY esse dado que eu transferi seja deletado. Se alguem tiver alguma solução me ajuda por favor.

 

Abaixo esta meu código funcional de transferencia para outra tabela.

 

SQL transferencia:

 

INSERT INTO tabela2 (campo1,campo2,campo3) SELECT campo1, campo2, campo3 FROM tabela1

 

 

Obrigado e espero que vocês possam me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um comando delete após o insert (forma mais simples).

 

Uma trigger na tabela tabela2 fazendo o delete da tabela1.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um comando delete após o insert (forma mais simples).

 

Uma trigger na tabela tabela2 fazendo o delete da tabela1.

 

Eu ja testei a primeira forma e não foi funcional deu erro de sintaxe.(DELETE FROM tabela1 WHERE id =?)

 

E da forma do TRIGGER como vou dizer para ele qual dado especificamente apagar? Exemplo: Transferi o dado da tabela1 e deletar o dado que transferi.

Compartilhar este post


Link para o post
Compartilhar em outros sites

DELETE FROM tabela1 WHERE id =?

 

DELETE tabela1 WHERE id =?

 

Motta acho que você esta equivocado a sintaxe do dele é "DELETE FROM tabela WHERE id=?"

 

Só não utilizaria o "FROM" se eu utilizasse o "TRUNCATE" pois estaria a limpar todos os dados de minha tabela e resetando seu increment.

 

 

Carlos Coelho esse link do "DELETE" foi para mim?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça 2 queries separadas:

INSERT INTO tabela2 (campo1,campo2,campo3) SELECT campo1, campo2, campo3 FROM tabela1

DELETE FROM tabela1 WHERE id = id

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça 2 queries separadas:

INSERT INTO tabela2 (campo1,campo2,campo3) SELECT campo1, campo2, campo3 FROM tabela1

DELETE FROM tabela1 WHERE id = id

 

Obrigado pela resposta Henrique mas para mim desta forma não seria funcional. Mesmo assim obrigado.

 

Mas eu resolvi de outra forma. como os dados vão os mesmos a unica coisa que fiz foi usar uma unica tabela, ae criei um campo

"Status" e nele teria 2 condições "condição1" e "condição2" e no meu código tratei o campo que se ele recebece a consição 2 ele mandaria

para a segunda tabela(no meu sistema). =).

 

Valeu. Obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua tabela vai ficar 'suja' desse jeito.

Obrigado pela resposta Henrique mas para mim desta forma não seria funcional

Por que???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua tabela vai ficar 'suja' desse jeito.

 

Por que???

 

 

Por que ela vai ficar suja não entendi... Da maneira que eu fiz vai ficar suja?

 

O meu query ficou isso aqui.

 

SELECT * FROM tabela1 where campo!='Finalizado'

Compartilhar este post


Link para o post
Compartilhar em outros sites
Motta acho que você esta equivocado a sintaxe do dele é "DELETE FROM tabela WHERE id=?"

 

Estava mesmo, até deletei o Post.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua tabela terá muitos registros, o que dificultaria por exemplo na hora da busca. Você sempre teria que fazer com a condicional.

Obrigado pela resposta Henrique mas para mim desta forma não seria funcional

Eu ainda não entendi pq não é viável...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.