Fórum Problema de PK na geração de registros. #299979
19/10/2005
0
Estou montando uma agenda que será utilizada em vários micros.
Ela é montada com os horários agendados e com os horarios disponiveis.
Toda vez q é realizada alguma operação como Novo Agendamento, Alteração ou Exclusão, a geração da agenda é refeita devido aos tempos de agendamentos mudarem.. ou seja, um agendamento pode ter 30 minutos o outros pode ter 1hora... mas a agenda exibe os horarios de 30 em 30 minutos.
a agenda é separada por profissional/data.
posso ter um ou mais micros acessando o mesmo profisional na mesma data.
a tabela de agenda possui um filtro para o profissional/data selecionado, exibindo então só os agendamentos daquele dia.
Essa tabela de agenda tem uma PK com o campo CD_Agenda.
Eu realizo a geração da agenda com varios calculos e todo esse processo está dentro de um StartTransaction e um Commit após concluir tudo.
Por exemplo, se eu tiver 2 micros acessando ao mesmo tempo e ambos clicarem pra gerar a agenda tenho problema de PK pq existe um outro que já está gerando.
Como posso resolver? Teria como por exemplo alocar um intervalo de código ao iniciar a geração?
agradecido
Diogo
Diogoalles
Curtir tópico
+ 0Posts
19/10/2005
Bruno Belchior
Gostei + 0
19/10/2005
Diogoalles
Bem, eu utilizo FB 1.5 e não conheço na pratica Generators.
Eu tenho a minha tabela com o CD_Agenda do tipo Integer.
Esta tabela já possuem muitos dados, apesar de ser sequencial existem registros que são excluidos, então não tenho uma sequencia certa. Isso não poderá me trazer problemas?
Só para ver se entendi bem, se eu usar generator para esse campo PK, mesmo utilizando vários micros na mesma tabela para inserção ou edição de registros, e utilizando StartTransaction e Commit, não terei problemas?
O generator faz algum tipo de ´reserva´ de código?
agradecido
Diogo
Gostei + 0
19/10/2005
Bruno Belchior
Gostei + 0
19/10/2005
Diogoalles
Só uma duvida.
Para atualizar os clientes eu tenho um prog q roda o script de banco.
Como vou fazer para definir o valor inicial do generator se cada cliente tem um nº diferente d registros?
obrigadão ai cara
abraço
Diogo
Gostei + 0
19/10/2005
Bruno Belchior
set generator NomeDoGenerator to XX
Gostei + 0
19/10/2005
Diogoalles
só q ñ funciona
SET GENERATOR GEN_AGENDA TO (SELECT MAX(CD_AGENDA) FROM TBLAGENDA);
:( :(
Gostei + 0
19/10/2005
Bruno Belchior
Gostei + 0
19/10/2005
Diogoalles
Estou criando um generator para um tabela.
Só que já possuo muitos clientes e utilizando o sistema cada um com muitos registros nessa tabela.
SET GENERATOR NomeGenerator TO Valor;
onde indica o valor eu precisaria ter como colocar um MAX da tabela para ser o valor inicial
tipo
SET GENERATOR Gen_Agenda TO [color=red:f9871b16bb](SELECT MAX(N_Agenda) FROM Agenda)[/color:f9871b16bb];
obrigado
Diogo
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)