Fórum Duvida em Campo de Formulário e Problemas de Integridade #260070
25/11/2004
0
Estou com um problema em uma tabela do banco de dados.
Existe uma tabela chamada prd, essa tabela possui um cod_prd,projeto id, responsavel id e outros campos, mas o q quero ressaltar eh o campo cod_prd e prd_num.
O cod_prd eh autonumeraçãosó que prd_num eh tbm mas como não usar dois auto na mesma tabela como fica? Eu gero o numero pra prd_num atraves de uma query q eu criei q conta todas os prd_num da tabela prd onde projeto_id = :(parametro id). O resultado desse query eu pego e acrescento 1 no campo do form.
Na verdade uma prd eh uma requisição de projeto, ou seja, cada projeto pode ter ´n´ requisições. Se eu tenho um projeto chamado Calibração e se o cod_prd for 2 por exemplo, mas é a primeira requisição desse projeto, esse campo vai me gerar um valor 1 para prd_num. E quando eu for inserir uma nova prd mesmo que eu tenha inserido outras n prds, se escolher o projeto o prd_num como Calibração vai ser gerado automaticamente 2 na prd_num. O problema eh quando eu deleto o registro. Se eu deletar por exemplo o registro com prd_num =1 qdo eu for inserir outro registro para esse projeto vai ser gerado o numero q eu deletei e não numero 3 que deveria ser entendem?
Isso vai dar um erro no Banco. Como eu contorno esse problema!!!
Existe uma tabela chamada prd, essa tabela possui um cod_prd,projeto id, responsavel id e outros campos, mas o q quero ressaltar eh o campo cod_prd e prd_num.
O cod_prd eh autonumeraçãosó que prd_num eh tbm mas como não usar dois auto na mesma tabela como fica? Eu gero o numero pra prd_num atraves de uma query q eu criei q conta todas os prd_num da tabela prd onde projeto_id = :(parametro id). O resultado desse query eu pego e acrescento 1 no campo do form.
Na verdade uma prd eh uma requisição de projeto, ou seja, cada projeto pode ter ´n´ requisições. Se eu tenho um projeto chamado Calibração e se o cod_prd for 2 por exemplo, mas é a primeira requisição desse projeto, esse campo vai me gerar um valor 1 para prd_num. E quando eu for inserir uma nova prd mesmo que eu tenha inserido outras n prds, se escolher o projeto o prd_num como Calibração vai ser gerado automaticamente 2 na prd_num. O problema eh quando eu deleto o registro. Se eu deletar por exemplo o registro com prd_num =1 qdo eu for inserir outro registro para esse projeto vai ser gerado o numero q eu deletei e não numero 3 que deveria ser entendem?
Isso vai dar um erro no Banco. Como eu contorno esse problema!!!
Rapiner
Curtir tópico
+ 0
Responder
Posts
26/11/2004
Jrjoliv2003
Nesse caso cod_prd não poderia ser autonumeração, já que o número do projeto pode aparecer várias vezes.
Pelo que entendi vc deveria fazer um relacionamento entre cod_prd e cod_prd(tabela origem).
O número da requisição vc quer ordenanar de acordo com o cod_prd.
Exemplo: Se a última requisição do projeto 3 foi 8, vc quer colocar requisição 9, certo? Se for isso vc pode fazer um ´select MAX(prd_num) from tabela where cod_prd = 3. Ele irá pegar o maior e vc acrecenta mais um.
Eu entendi isso...
Espero ter ajudado.
JR.
Pelo que entendi vc deveria fazer um relacionamento entre cod_prd e cod_prd(tabela origem).
O número da requisição vc quer ordenanar de acordo com o cod_prd.
Exemplo: Se a última requisição do projeto 3 foi 8, vc quer colocar requisição 9, certo? Se for isso vc pode fazer um ´select MAX(prd_num) from tabela where cod_prd = 3. Ele irá pegar o maior e vc acrecenta mais um.
Eu entendi isso...
Espero ter ajudado.
JR.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)