Inserir zeros a esquerda de um campo firebird
30/09/2016
0
Atualmente tenho duas tabelas a tprodutos e tmovitens, onde o campo codprd tem 6 digitos. Ex: 000001, 000002, 000003, ...
Preciso deixar o campo codprd com 10 digitos. Ex: 000000001, 000000002, 000000003, ...
Tentei rodar o comando:
update TPRODUTO set codprd = reverse(substring(reverse('0000000000'||codprd) from 1 for 10))
update TMOVITENS set codprd = reverse(substring(reverse('000000000'||codprd) from 1 for 10))
Porem o comando não roda, esta retornando essa msg no ibxpert
violation of FOREIGN KEY constraint "".
violation of FOREIGN KEY constraint "FKTMOVITENS_CODPRD" on table "TMOVITENS".
Foreign key reference target does not exist.
Preciso deixar o campo codprd com 10 digitos. Ex: 000000001, 000000002, 000000003, ...
Tentei rodar o comando:
update TPRODUTO set codprd = reverse(substring(reverse('0000000000'||codprd) from 1 for 10))
update TMOVITENS set codprd = reverse(substring(reverse('000000000'||codprd) from 1 for 10))
Porem o comando não roda, esta retornando essa msg no ibxpert
violation of FOREIGN KEY constraint "".
violation of FOREIGN KEY constraint "FKTMOVITENS_CODPRD" on table "TMOVITENS".
Foreign key reference target does not exist.
Dalton_bat
Curtir tópico
+ 0
Responder
Posts
30/09/2016
Luiz Santos
Dalton, bom dia.
Nesse caso, o que acontece é que essa tabela possui um relacionamento e você só está tentando alterar a CHAVE dela.
NO caso existe um relacionamento entre TMOVITENS e TPRODUTO.
Pela descrição do erro (e um pouco de dedução lógica) descobrimos que quem recebe a chave é a tabela TMOVITENS.
Se realmente for necessária essa alteração, comece por essa tabela.
E na sequencia na tabela TPRODUTO
Se continuar dando erro, desative/remova o relacionamento antes de fazer a alteração.
O mais sensato, se isso for um sistema produtivo, seria criar colunas novas com esse formato de dados.
GRande abraço
Nesse caso, o que acontece é que essa tabela possui um relacionamento e você só está tentando alterar a CHAVE dela.
NO caso existe um relacionamento entre TMOVITENS e TPRODUTO.
Pela descrição do erro (e um pouco de dedução lógica) descobrimos que quem recebe a chave é a tabela TMOVITENS.
Se realmente for necessária essa alteração, comece por essa tabela.
E na sequencia na tabela TPRODUTO
Se continuar dando erro, desative/remova o relacionamento antes de fazer a alteração.
O mais sensato, se isso for um sistema produtivo, seria criar colunas novas com esse formato de dados.
GRande abraço
Responder
30/09/2016
Dalton_bat
Obrigado, tirei os relacionamentos e rodei novamente deu certo.
att
att
Responder
Clique aqui para fazer login e interagir na Comunidade :)