GARANTIR DESCONTO

Fórum Tem jeito? select * from pessoa where codigo in (:codigo); #49401

17/02/2005

0

Será que da pra passar uma lista de valores para esse tipo de situação?

select *
from pessoa
where codigo in (:codigo);


[color=red:4ec241bddd][b:4ec241bddd]em run-time?[/b:4ec241bddd][/color:4ec241bddd]

Obrigado


Tenil

Tenil

Responder

Posts

17/02/2005

Afarias

NÃO.


...mas, existem ´soluções´ (workaround)


T+


Responder

Gostei + 0

17/02/2005

Rodolpho123

Esses ´códigos´ seriam muitos?


Responder

Gostei + 0

17/02/2005

Tenil

Eu dei um jeito via programação (DELPHI).

Mas obrigado pelo esclarecimento.


Responder

Gostei + 0

17/02/2005

Beppe

Um parâmetro não pode ser uma lista vertical, mas pode ser uma horizontal(subselect).

Este artigo na BDN explica o porquê:
http://bdn.borland.com/article/0,1410,32076,00.html

Mas esta entrada no CodeCentral dá uma boa alternativa para o problema inverso:
http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=15065

Em suma, converta codigo para uma lista delimitada por vírgulas(teria que começar com uma vírgula também), e use LIKE:
SELECT *
FROM Pessoa
WHERE :codigo LIKE ´¬,´ || Codigo || ´,¬´


Mas não tenho certeza se poderia ser aplicado ao seu problema, isto é, se é permitido esta sintaxe. Mas já que resolveu nem perca tempo.


Responder

Gostei + 0

18/02/2005

Tenil

Obrigado pelo esclarecimento Beppe!

Roberto


Responder

Gostei + 0

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

Aceitar