Fórum Procedure Inserindo registro duplicado... #56978
29/09/2006
0
CREATE PROCEDURE INSERT_MANUTENCAO_CORRETIVA ( I_TIPO_MANUT CHAR(1), I_STATUS_OS CHAR(1), I_COD_COLABORADOR CHAR(15), I_ENDERECO_MANUT VARCHAR(150), I_COD_GRUPO_PAT CHAR(15), I_COD_SUB_GRUPO_PAT CHAR(15), I_COD_CONJUNTO CHAR(15), I_DATA_PREVISAO DATE, I_USUARIO VARCHAR(20), I_DATA_CADASTRO DATE, I_SOLICITANTE CHAR(15), I_DESC_SOLICITACAO VARCHAR(200) ) RETURNS ( C_COD_OS CHAR(15) ) AS DECLARE VARIABLE V_COD_OS CHAR(15); begin select coalesce(MAX(C_COD_OS), 0) from OS0100 into :C_COD_OS; select C_RESULTADO from F_Zeros(:C_COD_OS, 1, 15) into :V_COD_OS; insert into OS0100 (C_COD_OS, C_TIPO_OS, C_STATUS_OS, C_COD_COLABORADOR, C_ENDERECO_MANUT, C_COD_GRUPO_PAT, C_COD_SUB_GRUPO_PAT, C_SOLICITANTE, C_DESC_SOLICITACAO, C_COD_CONJUNTO) values (:V_COD_OS, :I_TIPO_MANUT, :I_STATUS_OS, :I_COD_COLABORADOR, :I_ENDERECO_MANUT, :I_COD_GRUPO_PAT, :I_COD_SUB_GRUPO_PAT, :I_SOLICITANTE, :I_DESC_SOLICITACAO, :I_COD_CONJUNTO); insert into CM0100 (C_COD_OS, C_COD_GRUPO_PAT, C_COD_SUB_GRUPO_PAT, C_COD_CONJUNTO, C_DATA_PREVISAO, C_COD_COLABORADOR, C_TIPO_MANUT, C_USUARIO, C_ENDERECO_MANUT, C_SOLICITANTE, C_DESC_SOLICITACAO, C_DATA_CADASTRO) values (:V_COD_OS, :I_COD_GRUPO_PAT, :I_COD_SUB_GRUPO_PAT, :I_COD_CONJUNTO, :I_DATA_PREVISAO, :I_COD_COLABORADOR, :I_TIPO_MANUT, :I_USUARIO, :I_ENDERECO_MANUT, :I_SOLICITANTE, :I_DESC_SOLICITACAO, :I_DATA_CADASTRO); C_COD_OS = :V_COD_OS; suspend; end
está funcionando, mas insere duas vezes o mesmo registro..
o que pode ser???
Cabelo
Curtir tópico
+ 0Posts
30/09/2006
Raserafim
select [b]DISTINCT[/b](C_RESULTADO) from F_Zeros(:C_COD_OS, 1, 15) into :V_COD_OS;
Gostei + 0
30/09/2006
Raserafim
mas fica assim:
select distinct(C_RESULTADO) from F_Zeros(:C_COD_OS, 1, 15) into :V_COD_OS;
Gostei + 0
02/10/2006
Cabelo
Não há necessidade da cláusula distinct, já que o valor retornado é de um procedure com um select count, concatenado de zeros, mas tentei mesmo assim... e continua inserindo o registro duplicado.
O que será que está acontecendo ???
obrigado pela atenção..
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)