Fórum UPDATE DADOS #444210
28/05/2013
0
PRECISO DE UMA AJUDA DE VOCÊS, NO BANCO DE DADOS DO TRABALHO EXISTE UM CAMPO QUE GERA NÚMEROS SEQUENCIAS ASSIM PRECISO QUE SEMPRE QUE GERAR UM NUMERO SEQUENCIAL PRECISO SETAR A ULTIMA SEQUENCIA COMO ATIVA (ISSO O SISTEMA JÁ FAZ) SÓ QUE ELE NÃO ESTA DESATIVANDO A PENÚLTIMA COMO SÃO MUITAS SEQUÊNCIAS PRECISO FAZER UM SCRIPT PRA FACILITAR. TIPO PEGAR O ULTIMO - 1 OU ALGO ASSIM.
ATT
KAIO
Kaio
Curtir tópico
+ 0Posts
28/05/2013
Carlos Tangerino
Abraço,
Gostei + 0
28/05/2013
Kaio
GRATO PELA ATENÇÃO.
Gostei + 0
28/05/2013
Kaio
(AGN_TAB_IN_CODIGO,AGN_PAD_IN_CODIGO,AGN_IN_CODIGO,AGN_TAU_ST_CODIGO,TPD_ST_CODIGO,ASD_ST_SERIEDOC,ASD_CH_STATUS,ASD_ST_DESCRICAO)
VALUES
(53, 1,440500,'N','CH',(SELECT MAX(ASD_ST_SERIEDOC) FROM MGGLO.GLO_AGENTESERIEDOC),'A','serie correção 2013');
SERIEDOC),'A','serie correção 2013');
CARLAO ESSE SELECT (SELECT MAX(ASD_ST_SERIEDOC) FROM MGGLO.GLO_AGENTESERIEDOC) QUE PRECISO QUE SEJA INSERIDO SEMPRE UM NUMERO MAIOR QUE O ULTIMO QUE JA ESTEJA NA TABELA.
AGRADEÇO
Gostei + 0
28/05/2013
Carlos Tangerino
SELECT MAX(ASD_ST_SERIEDOC)+1 FROM MGGLO.GLO_AGENTESERIEDOC
Ou seja:
Ele pegará o último e somará 1.
Se der algum erro, poste para eu ver.
Abraço,
Gostei + 0
29/05/2013
Kaio
FIZ COMO VOCE ME ENSINOU MAS O ORACLE RETORNOU UM ERRO DE EXPRESSÃO NÃO ENCONTRADA ORA00936 APONTANDO PARA O SELECT
O CODIGO FICOU ASSIM:
INSERT INTO MGGLO.GLO_AGENTESERIEDOC
(AGN_TAB_IN_CODIGO,AGN_PAD_IN_CODIGO,AGN_IN_CODIGO,AGN_TAU_ST_CODIGO,TPD_ST_CODIGO,ASD_ST_SERIEDOC,ASD_CH_STATUS,ASD_ST_DESCRICAO)
VALUES
(53, 1,440500,'N','CH',SELECT MAX(ASD_ST_SERIEDOC)+ 1 FROM MGGLO.GLO_AGENTESERIEDOC,'A','serie correção 2013');
ABRAÇO.
Gostei + 0
29/05/2013
Carlos Tangerino
O select deve ficar entre parenteses:
INSERT INTO MGGLO.GLO_AGENTESERIEDOC
(AGN_TAB_IN_CODIGO,AGN_PAD_IN_CODIGO,AGN_IN_CODIGO,AGN_TAU_ST_CODIGO,TPD_ST_CODIGO,ASD_ST_SERIEDOC,ASD_CH_STATUS,ASD_ST_DESCRICAO)
VALUES
(53, 1,440500,'N','CH',(SELECT MAX(ASD_ST_SERIEDOC)+ 1 FROM MGGLO.GLO_AGENTESERIEDOC),'A','serie correção 2013');
Abraço,
Gostei + 0
29/05/2013
Kaio
INSERT INTO MGGLO.GLO_AGENTESERIEDOC
(AGN_TAB_IN_CODIGO,AGN_PAD_IN_CODIGO,AGN_IN_CODIGO,AGN_TAU_ST_CODIGO,TPD_ST_CODIGO,ASD_ST_SERIEDOC,ASD_CH_STATUS,ASD_ST_DESCRICAO)
VALUES
(53, 1,440500,'N','CH',(SELECT MAX (7)+ 1 FROM MGGLO.GLO_AGENTESERIEDOC),'A','serie correção 2013');
SE PASSAR COMO A VARIÁVEL COMO PARAMETRO ESTA RETORNANDO UM ERRO DE NUMERO INVALIDO MAS PASSANDO O NUMERO COMO ESTA NO CODIGO ACIMA FUNCIONA.
A VARIÁVEL ASD_ST_SERIEDOC ESTA DECLARADA COMO VARCHAR2.
Gostei + 0
29/05/2013
Carlos Tangerino
Se você fizer SELECT MAX(ASD_ST_SERIEDOC) FROM MGGLO.GLO_AGENTESERIEDOC, o que acontece? Vem number ou varchar?
Gostei + 0
29/05/2013
Kaio
AGORA TENHO QUE VER OUTRA FORMA DE INSERIR JA QUE NAO POSSO ALTERAR ESSES CAMPOS PARA NUMEROS.
ABRAÇO.
Gostei + 0
29/05/2013
Kaio
ABRAÇO
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)