Ir para conteúdo
Fórum Script Brasil

fireblade

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre fireblade

fireblade's Achievements

0

Reputação

  1. fireblade

    Incrementar contador

    Não posso mudar o campo para numeração automática porque na tabela MOVIMENTOS os campos 'numero documento' e 'tipo documento' são chaves primárias, logo eu preciso de escrever o numero do documento, pois podem existir dois numeros de documentos iguais para tipo de documentos diferentes.
  2. Olá! Tenho um campo numa tabela chamada 'numeracao' que guarda o número do último documento da tabela documentos. Quando quero inserir um novo documento na tabela MOVIMENTOS, tenho que ler o numero do ultimo documento na tabela numeração com o comando: SELECT numero FROM NUMERACAO WHERE doc='STK'. Depois incremento o numero e executo o comando: UPDATE NUMERACAO SET numero="var_numerolido" WHERE doc='STK'. Depois é só inserir uma linha nova na tabela movimentos em que o número do documento é o numero lido da tabela numeracao. Por vezes quando mais que utilizador está a trabalhar, ao inserir uma linha nova na tabela movimentos, dá o erro "As alterações que pediu à tabela não foram bem sucedidas porque iriam criar valores duplicados no índice, na chave primária ou na relação", pois o numero do documento é chave primaria da tabela movimentos. Ao que parece é que quando um PC lê o numero da tabela numeracao e antes de fazer update com o novo numero, um outro PC lê o mesmo numero da tabela numeracao, ao escrever na tabela movimentos um dos dois PC's irá dar erro pois já existe uma linha com esse numero. Poderei fazer algo para evitar que isto aconteça? É possível bloquear a tabela numeração enquanto um PC lê o numero e faz o update, de modo a que mais nenhum PC consiga ler o numero enquanto a tabela não for actualizada com o novo numero. Obrigado :)
×
×
  • Criar Novo...