e outra, quando é sql meio grande, tipo 250 linhas... como que vc vai fazer um 
execute immediate

isso da muito trabalho...

acho mais facil trabalhar com a variavel individual...

att,

  ----- Original Message ----- 
  From: Bruno Lorenzini 
  To: [email protected] 
  Cc: [EMAIL PROTECTED] 
  Sent: Wednesday, August 06, 2008 10:56 AM
  Subject: RES: [oracle_br] Re: Duvida


  Não sei não... acho que a instrução não funciona, ele entende como sendo um
  valor só dentro da variável

  O que dá pra fazer é usar o EXECUTE IMEDIATE ou usar um FOR passando uma
  variável como condição... mas assim, direto, acho que não rola não.

  Vlw

  _____ 

  De: [email protected] [mailto:[EMAIL PROTECTED] Em
  nome de [EMAIL PROTECTED]
  Enviada em: quarta-feira, 6 de agosto de 2008 10:58
  Para: [email protected]
  Cc: [EMAIL PROTECTED]
  Assunto: RES: [oracle_br] Re: Duvida

  Bom dia.

  Se não estive enganado o que você deseja pode ser obtido através deste
  código:

  DECLARE

  -- PARÂMETRO DE ENTRADA DA SUA PROCEDURE

  V_PARAMETRO VARCHAR2(20) := 'AP,AM,PA,RR,MA';

  -- VARIÁVEL PARA MONTAR O SQL E EXIBIR A SAÍDA

  V_SQL VARCHAR2(50) := '';

  V_SAIDA VARCHAR2(20) := '';

  BEGIN

  -- SUBSTITUR A VÍRGULA POR ASPAS, VÍRGULA, ASPAS

  V_SQL := ''''||REPLACE(V_PARAMETRO,',',''',''')||'''';

  -- EXEMPLO DE USO DA INSTRUÇÃO SQL

  SELECT TRUNC(SYSDATE) INTO V_SAIDA FROM DUAL

  WHERE 1 = 1 OR '1' IN (V_SQL);

  dbms_output.put_line(' SAÍDA = '||TO_CHAR(V_SAIDA));

  END;

  ________________________________

  De: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br
  [mailto:[EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
  os.com.br] Em nome de Mária Cristina Silva
  Enviada em: quarta-feira, 6 de agosto de 2008 10:45
  Para: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br
  Assunto: Re: [oracle_br] Re: Duvida

  Desculpa, acho q não estou sabendo explicar.

  Bom a Expressão é exatamente assim, isso é um paramentro *'AP, AM, PA, RR,
  MA',* e a ideia é usar a *Where in (...)* sim, porem com os dados da
  expressão acima divididos como nesse exemplo: *where in
  ('AP','AM','PA','RR','MA')*

  On 8/6/08, Flaviano, Wellington (GE Money) <wellington.flaviano
  <mailto:wellington.flaviano%40ge.com> @ge.com
  <mailto:wellington.flaviano%40ge.com> >
  wrote:
  >
  > Se eu entendi vc nao quer utiliar o comando where in (...) ?? Muito
  > grande?
  > No caso, se fosse numerico o campo vc poderia utiliar o between: between
  > campo in 1 and 23000, agora do tipo varchar acredito que não funciona, mas
  > pode fazer um teste.
  >
  >
  > ________________________________
  >
  > From: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
  os.com.br <mailto:oracle_br%40yahoogrupos.com.br>
  <oracle_br%40yahoogrupos.com.br>[mailto:
  > [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br
  <mailto:oracle_br%40yahoogrupos.com.br> <oracle_br%40yahoogrupos.com.br>] On
  Behalf
  > Of Mária Cristina Silva
  > Sent: Wednesday, August 06, 2008 10:36 AM
  > To: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br
  <mailto:oracle_br%40yahoogrupos.com.br> <oracle_br%40yahoogrupos.com.br>
  > Subject: [oracle_br] Re: Duvida
  >
  > Bom dia!!
  >
  > Por acaso alguém pode me ajudar?
  >
  > Tenho a seguinte Expressão: *'AP, AM, PA, RR, MA'*, é um paramentro de uma
  > procedure do tipo varchar2, porém quando esses dados entrar , eu tenho que
  > pesquisar numa query usando a clausula *where in* e quebrando a expressão
  > como string ex: *where in ('AP','AM','PA','RR','MA') *
  >
  > Sabem como posso fazer isso, se existe algum comando pra facilitar, eu
  > pensei em usar substr, mas acho q pode ter algo mais fácil..
  >
  > Agradeço atenção.
  >
  > [As partes desta mensagem que não continham texto foram removidas]
  >
  > [As partes desta mensagem que não continham texto foram removidas]
  >
  > 
  >

  -- 
  Abraços,
  Mária Cristina
  Cel: 031-8883-5543
  E-mail: mariancristina@ <mailto:mariancristina%40gmail.com> gmail.com
  <mailto:mariancristina%40gmail.com> 
  MSN: mcristinasilva3@ <mailto:mcristinasilva3%40hotmail.com> hotmail.com
  <mailto:mcristinasilva3%40hotmail.com> 
  -- 
  "O começo é a parte mais importante do trabalho."
  - Platão

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

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

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



   

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

Responder a