none
Duplicar registos para fazer histórico para testes RRS feed

  • Pergunta

  • Boas..

     

    Preciso de duplicar registos de uma tabela, em que o único valor que pretendo alterar é  ano, para criar histórico para realizar testes.

     

    Tenho uma tabela com os seguintes campos ANO, COD_CC, COD_LOJA, MES, VALOR.

     

    Os dados na tabela fazem referência ao ANO de 2008, e eu preciso de duplicar esses registos mas alterar o ANO para 2007, para ficar com registos de dois anos e realizar testes.

     

    O meu statement era este mas estava a dar erro pk eu estava a duplicar o Pk_Key da tabela:

     

    INSERT INTO TABLE (ANO, COD_CC, COD_LOJA, MES, VALOR)

    SELECT ANO, COD_CC, COD_LOJA, MES, VALOR FROM TABLE

    sexta-feira, 29 de agosto de 2008 15:43

Todas as Respostas

  • Talvez

     

    INSERT INTO TABLE (ANO, COD_CC, COD_LOJA, MES, VALOR)

    SELECT ANO -1, COD_CC, COD_LOJA, MES, VALOR FROM TABLE

     

    Ou

     

    INSERT INTO TABLE (ANO, COD_CC, COD_LOJA, MES, VALOR)

    SELECT 2007, COD_CC, COD_LOJA, MES, VALOR FROM TABLE

    sexta-feira, 29 de agosto de 2008 16:47
  • Pode ser um loop tb:


    Code Snippet

    declare @total int

    declare @tab table (ANO int, COD_CC int)

    set @total = 1

    while @total < 100
    begin
        INSERT INTO @tab (ANO, COD_CC) values (2008,@total)
        set @total = @total + 1
    end

    SELECT * FROM @tab

     

     

     

    sexta-feira, 29 de agosto de 2008 18:03