Fórum Parametro para stored procedure não funciona :( #42997

11/03/2004

0

Estou tentando fazer uma consulta com stored procedure que me retorne um valor acontece que estou tentando passar dois parametros para o mesmo campo e não funciona

BEGIN
SELECT DISTINCT EPPC FROM ESPECIFICA_PROCEDCONV_DETALHE EPD
[b:e55fa552e5]WHERE EPPV IN (:TAB1, :TAB2)[/b:e55fa552e5]
into :CODPROCE;
suspend;
end


Sremulador

Sremulador

Responder

Posts

11/03/2004

Afarias

SELECT DISTINCT EPPC
FROM ESPECIFICA_PROCEDCONV_DETALHE
WHERE EPPV = :TAB1 OR EPPV = :TAB2
into :CODPROCE DO
suspend;



T+


Responder

Gostei + 0

11/03/2004

Sremulador

Muito obrigado Afarias, eu já tinha feito isso e funcionou porém estou com outro problema ao executar me retorna o erro


/*!!! Error occured !!!
multiple rows in singleton select\n.
múltiplas linhas em um select de linha única.

cod

COMMIT WORK;
SET AUTODDL OFF;
SET TERM ^ ;

CREATE PROCEDURE ´PROCEDIMENTOVIS´
( ´TAB2´ INTEGER, ´TAB1´ INTEGER)

RETURNS
( ´CODPRD´ INTEGER, ´CODPROCE´ INTEGER)
AS
BEGIN
SELECT DISTINCT EPPV, EPPC FROM ESPECIFICA_PROCEDCONV_DETALHE EPD
WHERE ((EPPV=:TAB1) or (EPPV=:TAB2))
into :CODPROCE, :CODPRD;
suspend;
end
^

SET TERM ; ^
COMMIT WORK;
SET AUTODDL ON;


Responder

Gostei + 0

11/03/2004

Afarias

|SELECT DISTINCT EPPV, EPPC FROM
|ESPECIFICA_PROCEDCONV_DETALHE EPD
|WHERE ((EPPV=:TAB1) or (EPPV=:TAB2))
|into :CODPROCE, :CODPRD;

Um select SEM o FOR deve sempre retornar apenas 1 registro!! Caso contrário -- ai está o erro!

ou vc muda ´algo´ para retornar apenas 1 registro ou vc muda o código do procedimento para::

FOR SELECT DISTINCT EPPV, EPPC
FROM ESPECIFICA_PROCEDCONV_DETALHE
WHERE ((EPPV=:TAB1) or (EPPV=:TAB2))
INTO :CODPROCE, :CODPRD
DO SUSPEND;


T+


Responder

Gostei + 0

11/03/2004

Sremulador

Valeu meu, você e demais... :D


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar