View Full Version : Adicionar Registos Auto
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.
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.
LinuxWarrior 11-03-2008, 17:17 faz um script em ruby, e com um ciclo while fazes isso!
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.
Então e não tá bom? :P
Acho que está com óptimo aspecto.
Deve ser complicado reduzir mais o código que isso.
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
AliFromCairo 12-03-2008, 23:41 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.
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
AliFromCairo 14-03-2008, 00:53 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.
|
|