Duplicar dados alterando um dos valores

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
wonk®
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Qua, 20 Fev 2008 6:51 pm
Localização: CAMPINAS/SP
wonk®

Olá,

Preciso inserir dados na tabela custo_indireto mas os valores estão na mesma tabela, ou seja, preciso duplicar valores de um mês (ANO_mês='082007') alterando o valor do que for duplicado '082007' para '11/2007'

Considerando a estrutura da tabela abaixo, seria possível fazer isso?

----- Estrutura da Tabela:
ANO VARCHAR2(6)
CODIGO VARCHAR2(5)
VALOR NUMBER(12,2) Y
AMORTIZADO VARCHAR2(1) Y
UNIDADE VARCHAR2(6) '000001'
---------------------------------------------------------

Desde já, obrigado!
rogenaro
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Sex, 30 Mar 2007 7:26 pm
Localização: Londrina - PR
Rafael O. Genaro

Duas coisas:

- Você se referiu à coluna ANO_mês ao explicar o problema, mas ela não consta na lista de campos que você postou. Pelo tipo de dados e tamanho, estarei assumindo que ele seria o campo ANO.

- Vou assumir também que você queira atualizar o campo ANO_mês para '112007' e não '11/2007' (já que este valor não vai caber em nenhum campo da tabela...)

Neste caso, basta utilizar o seguinte comando:

Selecionar tudo

insert into custo_indireto
( ano_mês
, codigo
, valor
, amortizado
, unidade
)
select '112007' ci.ano_mês_novo
     , ci.codigo
     , ci.valor
     , ci.amortizado
     , ci.unidade
from   custo_indireto ci
where  ci.ano_mês = '082007';
Apenas uma sugestão: execute apenas o comando select antes, para se certificar de que estes são realmente os dados que você deseja inserir na tabela, para evitar qualquer problema.
wonk®
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Qua, 20 Fev 2008 6:51 pm
Localização: CAMPINAS/SP
wonk®

Rafael,

desculpa aeh, eu troquei os nomes...foi mal...deu certo agora!

Valeu mesmo cara!
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante