1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Adicionar Registos Auto

Discussão em 'Programação' iniciada por SFSS, 11 de Março de 2008. (Respostas: 8; Visualizações: 723)

  1. SFSS

    SFSS Power Member

    Boa tarde a todos,

    estou a trabalhar numa aplicação que a base de dados corre em SQL Express.
    Estou com uma duvida que talvez me possam ajudar. Tenho uma tabela XPTO, esta tabela têm os seguintes campos:

    - NBRBILHETE;
    - FORNECEDOR;
    - DATA.

    Imaginem que o número do ultimo bilhete é 245. Existe alguma forma de com um simples comando SQL conseguir adicionar mais 500 bilhetes?! Que de uma forma automática o SQL incremente mais 500 bilhetes e no final o ultimo bilhete seja o número 745.

    Obrigado & Cumps.
     
  2. Mavors

    Mavors Power Member

    Se o NRBILHETE for identity, escusas de mudar o index o que facilita.
    Por jdbc consegues fazer isso na boa pq podes adicionar uma série de inserts com um ciclo incremental e fazer commit no final. Mas com comandos sql se é possível não sei.

    Dá para fazer Do, While's em SQL mas n sei como.

    No que trata de inserts, repetitivos ou não, o Excel costuma ser o melhor amigo do homem.
     
    Última edição: 11 de Março de 2008
  3. LinuxWarrior

    LinuxWarrior Power Member

    faz um script em ruby, e com um ciclo while fazes isso!
     
  4. SFSS

    SFSS Power Member

    Com o While eu consigo, neste momento está assim.
    Neste momento tenho algo deste genero

    For i = 3000 to 5000 Step 1

    SQLCommand(INSERT INTO xpto (nbrbilhete,fornecedor,data) VALUES(@nbrbilhete,@fornecedor,@data), SQLConnection)
    SQLCommand.Parameters.Add(New SQLParameter("@nbrbilhete", i))
    SQLCommand.Parameters.Add(New SQLParameter("@fornecedor", "Xpto"))
    SQLCommand.Parameters.Add(New SQLParameter("@data", "11-03-2008"))

    SQLConnection.Open
    SQLCommand.ExecuteNonQuery
    SQLConnection.Close

    Next

    Se calhar existe uma forma mais simples?!?!!

    Cumps.
     
  5. Mavors

    Mavors Power Member

    Então e não tá bom? :P

    Acho que está com óptimo aspecto.
    Deve ser complicado reduzir mais o código que isso.
     
  6. SFSS

    SFSS Power Member

    Ok. Obrigado!

    Mais uma ajuda, please!!!

    Tenho a Tabela XPTO com estes campos(NbrBilhete(numeric), Fornecedor(numeric), Data(datetime), Vendido(tinyint)).

    NbrBilhete * Data * Vendido
    1000 * 12/03/2008 * Não
    1001 * 12/03/2008 * Não
    "
    "
    "

    Depois tenho uma segunda tabela que se chama XPTO2 com estes campos(nbrbilhete(numeric), datacriacao(datetime),etc...)

    O que eu pretendo fazer no SQL(Automático) é ao adicionar um registo na tabela XPTO2 com o número de bilhete "1000" o SQL na tabela XPTO alterar o vendido para "Sim" do bilhete nbr "1000".
    Penso que com um Trigger consigo fazer isto, mas nunca trabalhei com triggers e stored, estou quase a 0 nesta parte!!!

    Obrigado mais uma vez...

    Abraços
     
    Última edição: 12 de Março de 2008
  7. AliFromCairo

    AliFromCairo Power Member

    Podes de facto fazer um trigger que "after insert" numa determinada tabela, vai alterar registos da outra mas, no entanto, o mais simples é mesmo fazeres um UPDATE a seguir ao INSERT na tabela.
     
  8. SFSS

    SFSS Power Member

    Ok! Para já vou fazer mesmo assim tenho de terminar o software.

    Já que é possível fazer com um trigger a minha ideia é entrar na área dos triggers para aprender como funciona.

    Obrigado
     
  9. AliFromCairo

    AliFromCairo Power Member

    Boas, os triggers são bastante simples. Para os usares correctamente, apenas precisas de ter uma noção teórica do que é um trigger e, em seguida, basta veres a sintaxe usada pelo teu SGBD para a criação de triggers.

    No entanto, continuo a achar que para o que queres fazer, um trigger pode não ser o mais adequado.
     

Partilhar esta Página