multiple rows in singleton select...

Delphi

02/06/2010

Oi, pessoal. Eu aqui de novo.Criei a SP abaixo. Quando pesquiso um valor que retorna poucos registros ela dá certo. Mas, quando pesquiso um valor com muitos registro ela dá o seguinte erro: "multiple rows in singleton select". "At procedure 'VERIFY_CALL' Line: 7, Col:5"
CREATE OR ALTER PROCEDURE VERIFY_CALL (    situ varchar(2))returns (    id_ integer,    status_ varchar(2))asbegin    select    chamado.id, chamado.status    from    chamado    where    chamado.status = :situ    into    :id_, :status_;suspend;end
A tabela tem vários outros campos mas preciso do retorno somente desses dois.Alguém poderia me explicar porque ocorre esse erro?
Daniel Mourao

Daniel Mourao

Curtidas 0

Respostas

Wilson Junior

Wilson Junior

02/06/2010

De uma olhada neste link http://www.ibphoenix.com/main.nfs?a=ibphoenix&s=1129211309:192&page=ibp_sps_delphi

Espero ter colaborado.
GOSTEI 0
Deivison Melo

Deivison Melo

02/06/2010

Caro Daniel,   Sua instrução select está retornando mais de um registro e a mesma, e você está tentando guardar essa informação em um uma variável...
Do jeito que sua procedure foi codifida está errada pois não está garantindo que o resultset retornará apenas um linha (registro), se retornasse apenas uma linha estaria correta. Para solução do seu problema você deverá estar usar um "cursor" (FOR...SELECT).   Abração e espero ter ajudado!!   Emanoel Deivison Recife - PE
GOSTEI 0
Daniel Mourao

Daniel Mourao

02/06/2010

Era somente a questão do FOR...SELECT...DO!
Valeu mesmo pessoal!
Obrigado a todos.
Abraço.
GOSTEI 0
POSTAR