Inserindo Dados
Como faço para inserir um novo registro no meio de uma table de campos sequenciais.
Minha tabela e de operações para se fabricar uma peça e os dados são ordenados assim:
OPERACAO | Descrição
10 xxx
20 xxx
30 xxx
40 xxx
50 xxx
60 xxx
Como posso fazer para inserir uma nova operação, por exemplo uma terceira operação, e a operação 30 ja existente passar a ser 40, a 40 passar a ser 50, etc.
Grato pela atenção
Minha tabela e de operações para se fabricar uma peça e os dados são ordenados assim:
OPERACAO | Descrição
10 xxx
20 xxx
30 xxx
40 xxx
50 xxx
60 xxx
Como posso fazer para inserir uma nova operação, por exemplo uma terceira operação, e a operação 30 ja existente passar a ser 40, a 40 passar a ser 50, etc.
Grato pela atenção
Gandalf
Curtidas 0
Respostas
Marcos Fernando
28/11/2003
molesa use generatores com intervalo de 10
exe:
toda vez que vc manda gravar ele pega e acessenta 10,,,
crie assim
CREATE GENERATOR GERAR_ABASTECIMENTO_AVULSO;
SET GENERATOR GERAR_ABASTECIMENTO_AVULSO TO 0;
agora crie uma SP
CREATE PROCEDURE GERAR_COD_ABASTECIMENTO_AVULSO
RETURNS (
ATUAL INTEGER)
AS
BEGIN
ATUAL = GEN_ID(GERAR_ABASTECIMENTO_AVULSO, 10);
SUSPEND;
END
agora cada vez que vc for gravar cheque c a OPERAÇÃO for = 0 entaum execute a SP,,,,,
exe:
toda vez que vc manda gravar ele pega e acessenta 10,,,
crie assim
CREATE GENERATOR GERAR_ABASTECIMENTO_AVULSO;
SET GENERATOR GERAR_ABASTECIMENTO_AVULSO TO 0;
agora crie uma SP
CREATE PROCEDURE GERAR_COD_ABASTECIMENTO_AVULSO
RETURNS (
ATUAL INTEGER)
AS
BEGIN
ATUAL = GEN_ID(GERAR_ABASTECIMENTO_AVULSO, 10);
SUSPEND;
END
agora cada vez que vc for gravar cheque c a OPERAÇÃO for = 0 entaum execute a SP,,,,,
GOSTEI 0
Markk
28/11/2003
Mas como ficam os dados gravados com o código de operação igual a 30?
Com SQL seria simples, mas e a consistência dos dados?
Ex:
1º você precisaria aumentar 10 em todos os codigos começando do maior até o que você vai atualizar.
update tabela set campo=70 where campo=60
update tabela set campo=60 where campo=50
update tabela set campo=50 where campo=40
update tabela set campo=40 where campo=30
2º você poderia inserir o novo código.
insert into tabela (campo, campo1, campo2, campoN) values(30,´n´,´m´,´o´)
´AQUI SÃO OS COMANDOS, NÃO ESTOU LEVANDO EM CONTA A CONSISTÊNCIA.
A ORDEM DOS COMANDOS É IMPRESSINDÍVEL!!!´
Com SQL seria simples, mas e a consistência dos dados?
Ex:
1º você precisaria aumentar 10 em todos os codigos começando do maior até o que você vai atualizar.
update tabela set campo=70 where campo=60
update tabela set campo=60 where campo=50
update tabela set campo=50 where campo=40
update tabela set campo=40 where campo=30
2º você poderia inserir o novo código.
insert into tabela (campo, campo1, campo2, campoN) values(30,´n´,´m´,´o´)
´AQUI SÃO OS COMANDOS, NÃO ESTOU LEVANDO EM CONTA A CONSISTÊNCIA.
A ORDEM DOS COMANDOS É IMPRESSINDÍVEL!!!´
GOSTEI 0