Usuário com melhor resposta
Duplicação de registros

Pergunta
-
Olá,
Tenho um tabela que armazena registros referentes ao comportamento de operações de um sistema, gostaria de duplicar esses registros alterando somente a chave primaria através de uma soma.
Exemplo:
|CODIGOOPERACAO | DESCRICAO | ...
|0101001 | VENDA NORMAL NO ESTADO |
|0102001 | VENDA NORMAL (FORA) |
Eu gostaria de apartir de uma seleção* poder duplicar essas operações alterando apenas o campo CODIGOOPERACAO é possível?
*SELECT * FROM TABELA WHERE CODIGOOPERACAO LIKE '0101%'
Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.
Respostas
-
Se não tiver primary key ou unique constraint no campo codigooperacao o script abaixo resolverá seu problema, se tiver, será impossível fazer o que deseja.
INSERT INTO TABELA (CODIGOOPERACAO, DESCRICAO) SELECT b.CODIGOOPERACAO, a.DESCRICAO FROM TABELA a CROSS JOIN TABELA b WHERE a.CODIGOOPERACAO LIKE '0101%' AND NOT EXISTS(SELECT 1 FROM TABELA WHERE CODIGOOPERACAO = b.CODIGOOPERACAO AND DESCRICAO = a.DESCRICAO)
Abçs- Editado _Juliano_Alves_ sexta-feira, 23 de novembro de 2012 12:10
- Sugerido como Resposta Advaldo Mesquita Moreira Junior sexta-feira, 23 de novembro de 2012 14:11
- Marcado como Resposta Marcos Rocha sexta-feira, 23 de novembro de 2012 14:23
Todas as Respostas
-
Marcos,
Tente com CROSS JOIN
SELECT b.CODIGOOPERACAO, a.DESCRICAO FROM TABELA a CROSS JOIN TABELA b WHERE a.CODIGOOPERACAO LIKE '0101%'
Abçs
- Editado _Juliano_Alves_ sexta-feira, 23 de novembro de 2012 12:11
-
-
Se não tiver primary key ou unique constraint no campo codigooperacao o script abaixo resolverá seu problema, se tiver, será impossível fazer o que deseja.
INSERT INTO TABELA (CODIGOOPERACAO, DESCRICAO) SELECT b.CODIGOOPERACAO, a.DESCRICAO FROM TABELA a CROSS JOIN TABELA b WHERE a.CODIGOOPERACAO LIKE '0101%' AND NOT EXISTS(SELECT 1 FROM TABELA WHERE CODIGOOPERACAO = b.CODIGOOPERACAO AND DESCRICAO = a.DESCRICAO)
Abçs- Editado _Juliano_Alves_ sexta-feira, 23 de novembro de 2012 12:10
- Sugerido como Resposta Advaldo Mesquita Moreira Junior sexta-feira, 23 de novembro de 2012 14:11
- Marcado como Resposta Marcos Rocha sexta-feira, 23 de novembro de 2012 14:23
-