Gustavo

A maneira mais fácil é através de SQL dinâmico. Ou seja, todo o comando será
uma string a ser interpretada em tempo de execução.
Procure pelo comando "execute immediate".

Dentro da procedure ficaria +/- assim:
   execute immediate "select blá, blá, blá from sua_tabela where campo in ("
|| p_lista || ")";

OBS.: O maior problema é que isso não fica muito seguro. Podem ocorrer erro
em tempo de execução ou, pior, um ataque por "SQL injection". Para evitar
esses problemas seria importante fazer uma **validação** desse parâmetro
(para conferir se não está fora do padrão esperado).

[ ]

André


Em 2 de setembro de 2010 15:31, Gustavo Queiroz
<gustavo...@yahoo.com.br>escreveu:

>
>
> Pessoal,
>
> Tenho uma procedure que deverá possuir um parametro que é uma lista de
> números, por exemplo: 1, 2, 3, 4. Essa lista deverá ser usada em uma
> consulta da procedure na clausula Where onde um determinado campo deverá ter
> um desses valores, utilando o "IN". Essa quantidade de números da lista pode
> ser variável, não tendo uma quantidade fixa ou padrão.
>
> Como posso fazer para ter que passar esse valor para procedure? Tentei
> passar como string e depois jogar direto, mas não entende como número.
>
> Obgrigado,
>
> Gustavo
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

--------------------------------------------------------------------------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  
------------------------------------------------------------------------------------------------------------------------
 Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    oracle_br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a