Fórum erro multiple rows in singleton select #222597
26/03/2004
0
erro multiple rows in singleton select?
select a.id_contrato from atu_contrato a
where a.id_contrato in (
select id from contratos c
where (c.status = ´L´) or (c.status = ´T´) and (c.data_atu < ´5/1/2003´))
into :idcontrato;
if ((:idcontrato is not null) and (:idcontrato>0)) then
insert into teste_delete_arq (codatu_contrato) values (:idcontrato);
O que está errado. Ozias
Oziasl
Curtir tópico
+ 0Posts
26/03/2004
Wtjunior
Quando um select em uma Procedure retornar mais que um registro, é necessário utilizar um CURSOR.
abraço
Wilson
Gostei + 0
26/03/2004
Oziasl
Gostei + 0
26/03/2004
Gandalf.nho
[b:308e84ef8e]for[/b:308e84ef8e] select a.id_contrato from atu_contrato a
where a.id_contrato in (
select id from contratos c
where (c.status = ´L´) or (c.status = ´T´) and (c.data_atu < ´5/1/2003´))
into :idcontrato [b:308e84ef8e]do[/b:308e84ef8e]
[b:308e84ef8e]begin[/b:308e84ef8e]
if ((:idcontrato is not null) and (:idcontrato>0)) then
insert into teste_delete_arq (codatu_contrato) values (:idcontrato);
[b:308e84ef8e]end[/b:308e84ef8e]
Você deve usar a estrutura FOR SELECT.. DO em consultas que retornam mais de um registro.
Gostei + 0
26/03/2004
Oziasl
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)