RES: [oracle_br] Retornar um Result Set

2010-09-02 Por tôpico Helder Oliveira - IG
André. Bom dia.

Se você enviar o arquivo ficarei muito agradecido.

Atenciosamente, 
Helder Oliveira 
 
ESTE COMUNICADO PODE CONTER MATERIAL CONFIDENCIAL E/OU PROPRIETÁRIO e é, por
conseqüência, para uso exclusivo do destinatário correto. Se você recebeu
este comunicado indevidamente, favor contatar ao remetente e remover a
mensagem (e-mail) e seus respectivos anexos de todos os computadores.
 
THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you received
this in error, please contact the sender and delete the e-mail and its
attachments from all computers.
 
-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em
nome de Andre Santos
Enviada em: terça-feira, 31 de agosto de 2010 19:45
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] Retornar um Result Set

Helder

Não sei... poderia tentar enviar um e-mail para os moderadores.

Se não conseguir, depois posso enviar o arquivo para você. Ok?

[ ]

André


Em 31 de agosto de 2010 14:16, Helder Alves de Oliveira 
helder_olive...@ig.com.br escreveu:



 André. Boa tarde.

 Sim é o que eu quero, mas estou com problema para entrar no grupo. Tento
 trocar a senha, mas me é pedido para validar alguns dados com estado, só
 que
 alista vem vazia. Saberia alguma outra forma para eu trocar a minha senha?

 Helder

 Em 31 de agosto de 2010 12:53, Andre Santos
 andre.psantos...@gmail.com andre.psantos.ti%40gmail.comescreveu:


  Helder
 
  Há algum tempo deixei um exemplo, na seção de arquivos do
  grupo (oracle_br) de Excel com conexão ao Oracle.
  Não me lembro mais se é o que você precisa, mas acho que usava OO4O.
  [ ]
 
  André
 
 
  Em 31 de agosto de 2010 09:18, Helder Alves de Oliveira 
  helder_olive...@ig.com.br helder_oliveira%40ig.com.br escreveu:
 
  
  
   Bom dia!
  
   Agradeço (André e Laurindo), estarei usando VBA e OO4O.
  
   Atenciosamente,
  
   Helder Oliveira
  
   Em 30 de agosto de 2010 17:41, Gustavo Queiroz
  
   gustavo...@yahoo.com.br gustavoqfh%40yahoo.com.br gustavoqfh%
 40yahoo.com.brescreveu:
  
   
   
Pessoal,
   
Muito obrigado pela ajuda. Utilizei o método proposto pelo Thiago
   Pinheiro
(Function Pipelined) e resolveu o meu problema.
   
Gustavo Queiroz
   
--- Em seg, 30/8/10, Andre Santos
andre.psantos...@gmail.comandre.psantos.ti%40gmail.com
  andre.psantos.ti%40gmail.com
   andre.psantos.ti%40gmail.com
escreveu:
   
De: Andre Santos
andre.psantos...@gmail.comandre.psantos.ti%40gmail.com
 andre.psantos.ti%
  40gmail.com
   andre.psantos.ti%40gmail.com
  

Assunto: Re: [oracle_br] Retornar um Result Set
Para: oracle_br@yahoogrupos.com.br
oracle_br%40yahoogrupos.com.broracle_br%
 40yahoogrupos.com.br
  oracle_br%
   40yahoogrupos.com.br
  
Data: Segunda-feira, 30 de Agosto de 2010, 12:08
   
   
   
   
Gustavo
   
Uma idéia também seria utilizar tabela temporária (GTT).
   
[ ]
   
André
   
Em 30 de agosto de 2010 10:35, Thiago Pinheiro
   
thiago.pinhe...@ymail.com
thiago.pinheiro%40ymail.comthiago.pinheiro%
 40ymail.com
  thiago.pinheiro%
   40ymail.comescreveu:
  
   
 Olá Gustavo,
   

   
 Já deu uma lida sobre function PIPELINED?
   

   
 Acredito que possa lhe ajudar!
   

   
 Não tenho nenhum link aqui na manga para lhe ajudar, mas faz uma
  busca
   na
   
 net que encontra bastante.
   

   
 *Atenciosamente,*
   
 ***--
   
 *
   
 Thiago Pinheiro
   

   

   

   
 Em 27 de agosto de 2010 17:10, Gustavo Queiroz
   
 gustavo...@yahoo.com.br gustavoqfh%40yahoo.com.br gustavoqfh%
 40yahoo.com.br gustavoqfh%

   40yahoo.com.brescreveu:
  
   

   
 
   
 
   
  Boa Tarde,
   
 
   
  Tenho que fazer uma procedure/função que deve retornar uma
  quantidade
de
   
  linhas de uma determinada tabela após algumas restrições
 aplicadas.
   
 
   
  Teria então que:
   
  1) Ler as linhas de uma tabela de acordo com determinados
  parâmetros;
   
  2) APlicar restrições nessas linhas buscadas e refinar mais a
  busca.
Não
   
  posso fazer esse passo no select, pois envolve cálculos e
selects
  em
   
 outras
   
  tabelas - isso é feito através de uma função.
   
  3) Retornar as linhas que passaram pelo refinamento do passo 2.
   
 
   
  Inicialmente montei uma procedure retornando um ref cursor com o
   select
   
  inicial. Funcionou corretamente e a pessoa que está mostrando o
resultado
   
 em
   
  uma tela está conseguindo utilizar. O resultado é mostrado em
uma
página
   
 da
   
  internet utilizando Java.
   
 
   
  Porém, agora devo aplicar os filtros nessas primeiras linhas
  buscadas
   e
   
  retornar somente as que ficarem.
   
 
   
  Posso manter essa estrutura do Ref Cursor para esse segundo
 passo?
 

[oracle_br] Ajuda !! Parametros de Memória 11G

2010-09-02 Por tôpico ammorrimm
Bom dia colegas, tudo tranquilo ?

Estou com algumas pequenas dúvidas sobre parametros de memória no 11G que não 
haviam no 10G e sobre a questão do gerenciamento automatico de memoria..

Os parametros MEMORY_TARGET e MEMORY_MAX_TARGET foram introduzidos no primeiro 
release do 11G e não estou sabendo configura-los da forma correta, mediante os 
parametros SGA_MAX_SIZE e SGA_TARGET. Qual seria a diferença entre eles ?

Outra dúvida é quanto o gerenciamento automático de memória. Me recordo de 
alguns foruns gringos (e até mesmo do TOM), onde relatavam problemas nesta 
feature para o gerenciamento de SGA gigantes...esta dificuldade continua no 
11.1.0.6 ou ja foi superada ? Alguem teria algum relato sobre isso ?

Abraços e obrigado



[oracle_br] SPFILE no ASM - Oracle RAC - Melhor opção ?

2010-09-02 Por tôpico candiurudba
Bom dia !!

Tenho uma dúvida sobre a administração de spfile em RAC.

Em alguns testes percebi que poderia ter um spfile para cada nó que eu estiver 
trabalhando, na mesma localização .../dbs da uma singles instance (esta 
infomração para é nova pois pensei que trabalhando com RAC, eu só poderia ter 
um spfile compartilahdoi).

No meu entendimento, ter dois spfile apesar de dificultar um pouco o 
gerenciamento das instancias, pq para qualquer alteração, teríamos que aplicar 
em todos os nós, poderia trazer um pouco mais de tranquilidade no que tange a 
alterações específicas...posso alocar mais memória para uma, doq ue para outra 
ou adicionar mais buffer cache para uma e etc...

Seria isso mesmo ? Na questão do restart automatico das instancias, teria algum 
problema em termos spfiles separados ?



[oracle_br] Re: SPFILE no ASM - Oracle RAC - Melhor opção ?

2010-09-02 Por tôpico José Laurindo
Oi : então, na verdade a grande sacada do spfile é que, como vc já deve ter 
visto, nele a sintaxe para os parâmetros evoluiu para :

instância.nomedoparametro=valordesejado

aonde vc pode colocar um * para indicar todas... Assim, se vc tiver no seu 
spfile uma entrada, digamos :

*.OPEN_CURSORS=500

isso indica que em toas as instâncias do RAC vc quer ter esse setting. E se ca 
instância PROD1, digamos, vc quer ter um valor diferente, 1000 digamos ? No 
problem, vc ** TOTALMENTE **, ** ABSOLUTAMENTE NÃo Precisa ** ter um spfile 
separado pra PROD1, nesse mesmo único spfile vc inclui :


prod1.OPEN_CURSORS=1000

Blz  No fuss, no muss, sem problema nem esquentação de cuca O manual 
Oracle® Real Application Clusters Administration and Deployment Guide no cap. 
3 Administering Database Instances and Cluster Databases discute isso...

 A minha resposta então é : sim, tecnicamente é possível vc ter spfiles (ou 
mesmo initfiles) separados para cada instância do RAC, mas isso ** não é 
exigido ** isso de forma alguma para que vc tenha controle sobre params 
individuais em instâncias individuais... Dada a maior complexidade 
administrativa (serão vários arqs pra controlar/backupear/administrar) , SEM vc 
receber uma vantagem correspondente compensadora, eu não recomendaria isso, 
não...

 []s

   Chiappa

--- Em oracle_br@yahoogrupos.com.br, candiurudba candiuru...@... escreveu

 Bom dia !!
 
 Tenho uma dúvida sobre a administração de spfile em RAC.
 
 Em alguns testes percebi que poderia ter um spfile para cada nó que eu 
 estiver trabalhando, na mesma localização .../dbs da uma singles instance 
 (esta infomração para é nova pois pensei que trabalhando com RAC, eu só 
 poderia ter um spfile compartilahdoi).
 
 No meu entendimento, ter dois spfile apesar de dificultar um pouco o 
 gerenciamento das instancias, pq para qualquer alteração, teríamos que 
 aplicar em todos os nós, poderia trazer um pouco mais de tranquilidade no que 
 tange a alterações específicas...posso alocar mais memória para uma, doq ue 
 para outra ou adicionar mais buffer cache para uma e etc...
 
 Seria isso mesmo ? Na questão do restart automatico das instancias, teria 
 algum problema em termos spfiles separados ?





[oracle_br] Re: SPFILE no ASM - Oracle RAC - Melhor opção ?

2010-09-02 Por tôpico José Laurindo
yep, a syntax é :

alter system set parametro scope=both sid='instânciadesejada';

não lembro de cabeça se num RAC quando vc informa apenas :

alter system set parametro scope=both;

ele já assume o * indicando todas as instâncias, mas iirc sim...

 []s

   Chiappa

--- Em oracle_br@yahoogrupos.com.br, candiurudba candiuru...@... escreveu

 Mas chiappa...
 
 E com relação a alterações de parametros dinamicos...por exemplo, alter 
 system set shared_pool_size=XXX scope=both...
 
 Neste caso seria somente especificar qual a instancia queremos alterar, 
 acrescentando sid=xxx1 ou xxx2 na clausula...seria isso ?
 
 
 
 --- Em oracle_br@yahoogrupos.com.br, José Laurindo jlchiappa@ escreveu
 
  Oi : então, na verdade a grande sacada do spfile é que, como vc já deve ter 
  visto, nele a sintaxe para os parâmetros evoluiu para :
  
  instância.nomedoparametro=valordesejado
  
  aonde vc pode colocar um * para indicar todas... Assim, se vc tiver no seu 
  spfile uma entrada, digamos :
  
  *.OPEN_CURSORS=500
  
  isso indica que em toas as instâncias do RAC vc quer ter esse setting. E se 
  ca instância PROD1, digamos, vc quer ter um valor diferente, 1000 digamos ? 
  No problem, vc ** TOTALMENTE **, ** ABSOLUTAMENTE NÃo Precisa ** ter um 
  spfile separado pra PROD1, nesse mesmo único spfile vc inclui :
  
  
  prod1.OPEN_CURSORS=1000
  
  Blz  No fuss, no muss, sem problema nem esquentação de cuca O 
  manual Oracle® Real Application Clusters Administration and Deployment 
  Guide no cap. 3 Administering Database Instances and Cluster Databases 
  discute isso...
  
   A minha resposta então é : sim, tecnicamente é possível vc ter spfiles (ou 
  mesmo initfiles) separados para cada instância do RAC, mas isso ** não é 
  exigido ** isso de forma alguma para que vc tenha controle sobre params 
  individuais em instâncias individuais... Dada a maior complexidade 
  administrativa (serão vários arqs pra controlar/backupear/administrar) , 
  SEM vc receber uma vantagem correspondente compensadora, eu não 
  recomendaria isso, não...
  
   []s
  
 Chiappa
  
  --- Em oracle_br@yahoogrupos.com.br, candiurudba candiurudba@ escreveu
  
   Bom dia !!
   
   Tenho uma dúvida sobre a administração de spfile em RAC.
   
   Em alguns testes percebi que poderia ter um spfile para cada nó que eu 
   estiver trabalhando, na mesma localização .../dbs da uma singles instance 
   (esta infomração para é nova pois pensei que trabalhando com RAC, eu só 
   poderia ter um spfile compartilahdoi).
   
   No meu entendimento, ter dois spfile apesar de dificultar um pouco o 
   gerenciamento das instancias, pq para qualquer alteração, teríamos que 
   aplicar em todos os nós, poderia trazer um pouco mais de tranquilidade no 
   que tange a alterações específicas...posso alocar mais memória para uma, 
   doq ue para outra ou adicionar mais buffer cache para uma e etc...
   
   Seria isso mesmo ? Na questão do restart automatico das instancias, teria 
   algum problema em termos spfiles separados ?
  
 





[oracle_br] Comparativo Oracle X Cache

2010-09-02 Por tôpico Raphael
Ola,

Alguem tem algum documento comparando o Banco de Dados Oracle X Cache.
Ou qualquer coisa a respeito.

att.
Raphael




[oracle_br] Marco Aurélio Gandra Ribeiro q uer manter contato no LinkedIn

2010-09-02 Por tôpico Marco Aurélio Gandra Ribeiro
LinkedIn
Marco Aurélio Gandra Ribeiro requested to add you as a connection 
on LinkedIn:
--

Carmine Andre,

Eu gostaria de adicioná-lo(a) à minha rede profissional no LinkedIn. - Marco 
Aurélio Gandra Ribeiro

Accept invitation from Marco Aurélio Gandra Ribeiro
http://www.linkedin.com/e/8hv7ww-gdm0w92u-z/hWdLbEQovS9WxUla2SAnQ1WHcdNiQNfnEPkab4_YW6T/blk/I24893712_9/6lColZJrmZznQNdhjRQnOpBtn9QfmhBt71BoSd1p65Lr6lOfPBvcz4TcPAUd399bR5ntkENhmJEbP8Udz0TdzAOdz4LrCBxbOYWrSlI/EML_comm_afe/

View invitation from Marco Aurélio Gandra Ribeiro
http://www.linkedin.com/e/8hv7ww-gdm0w92u-z/hWdLbEQovS9WxUla2SAnQ1WHcdNiQNfnEPkab4_YW6T/blk/I24893712_9/elYOcjsPejwQcAALqnpPbOYWrSlI/svi/
 
--

DID YOU KNOW LinkedIn can help you find the right service providers using 
recommendations from your trusted network? Using LinkedIn Services, you can 
take the risky guesswork out of selecting service providers by reading the 
recommendations of credible, trustworthy members of your network. 
http://www.linkedin.com/e/8hv7ww-gdm0w92u-z/svp/inv-25/

 
--
(c) 2010, LinkedIn Corporation

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



Re: [oracle_br] Ajuda !! Parametros de Memória 11G

2010-09-02 Por tôpico Erick Tostes

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Não cheguei a mexer a fundo nisso, mas acredito que isso já lhe ajude
a entender melhor

http://www.dba-oracle.com/oracle11g/oracle_11g_memory_target_parameter.htm

Erick T.
sysadmin
www.geekbr.com.br
skype:dbflush?chat Yahoo!: ymsgr:sendIM?geekbr
gTalk: xmpp:gee...@jabber.org
ICQ/AIM: aim:GoIM?screenname=70596884
MSN: msnim:chat?contact=blackcatdbfl...@hotmail.com

- - -BEGIN GEEK CODE BLOCK-
GCM/C d- s-:--- a- C+++ ULB+++(+)$ P- E--- W+++(--)@$ N++ o--@ k! w--
O!-- M+
PS+ PE-Y!@ tv++ b+++ DI+@ G++ e* h+ r+ z+*
- - --END GEEK CODE BLOCK--


Em 02-09-2010 07:58, ammorrimm escreveu:
 Bom dia colegas, tudo tranquilo ?

 Estou com algumas pequenas dúvidas sobre parametros de memória no 11G
que não haviam no 10G e sobre a questão do gerenciamento automatico de
memoria..

 Os parametros MEMORY_TARGET e MEMORY_MAX_TARGET foram introduzidos no
primeiro release do 11G e não estou sabendo configura-los da forma
correta, mediante os parametros SGA_MAX_SIZE e SGA_TARGET. Qual seria a
diferença entre eles ?

 Outra dúvida é quanto o gerenciamento automático de memória. Me recordo
de alguns foruns gringos (e até mesmo do TOM), onde relatavam problemas
nesta feature para o gerenciamento de SGA gigantes...esta dificuldade
continua no 11.1.0.6 ou ja foi superada ? Alguem teria algum relato
sobre isso ?

 Abraços e obrigado



 

 --
 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


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJMgBBdAAoJEDX7/pST8RnijCMP/3Ux69hlE/zwtfRIOtJV5mPc
ovzCT42C5hrKOC5ITg9K0CH8x/+hO5/tp7MqwR2JSEjSJE4nRYizI9rz67Y20lMA
4HAixhTvb9kpyhfy2UkT/6+maJsEcHvK93GuKEya6cL3ZgckzMRWQAoDMHbgNNnl
X73Nrqz3abeEU3qqB8duNQZeg+aIFzbm+8YfGsfxxb7t9afFLgiQ7XrQbxtxHuow
iWVmTRNqjS9DSUdN+49DoGf3wnGWPpiBwU94ZWkwixc7bczRsootMBtjsGlcV5Hd
haM692p82SdFogAJEeZbyFOQdk5Hw5IsprAJI9BYgl2rx89bZCd3QXQHAVq3nyoq
IiODS/e/yhpHF2d5pIWeV31i8pJMu3DUTBMknIhmrA/IU2Lz46FQFsBYTizjhEAV
bB6xP5R8puBMRoIXA9R2zu2jOOKOKvepRozdsnIIRdcqxvt+6aGtizoFiOJGjulW
WnsWB4j96j3W00lfo+Koep9OWJp1m70CJBvEpmVWqiAoSwrYfXDGFYDUCjoA12sE
18V1+7XzVTtAUKTwdVugBWK3BcvPnkHUzUC1l33MLVyOoWytqu1Ljn/oiHr+c6Uc
YT4L5oMZwAun70r1nbVDM/bZv8txPpK5re47y6VCZilZOdekLSwFQkdzJSaiNdk8
Pqg7g9F388NSIS1Hb89C
=XuCR
-END PGP SIGNATURE-



Re: [oracle_br] Ajuda !! Parametros de Memória 11G

2010-09-02 Por tôpico Hevandro Veiga
Meu caro,

No 11G, com a introdução do MEMORY_TARGET e MEMORY_MAX_TARGET, o Oracle
passa a gerenciar de forma dinâmica tanto a SGA quanto a PGA juntas.
Então, se você poem MEMORY_TARGET=2000M, inicialmente o Oracle pode
distribuir 1300M para SGA e 700M para PGA. Se em um certo momento o
comportamento do banco muda, o Oracle pode dinâmicamente roubar memória de
uma área para entregar para a outra, como 1500M para SGA e 500M para PGA.
A Oracle alega que isso aumenta a eficiência do banco já que o Oracle
saberia distribuir isso melhor que um DBA, além de, reduzir trabalho do
cara de ter que mudar os parâmetros em determinados momentos, como por
exemplo para rodar cargas ou relatórios na madrugada.
Claro, que isso nem sempre funciona... em um sistema ERP por exemplo a
cagada pode ser grande... Sou novo na área, mas me deparei uma vez com um
ERP que se quer funcionava com o SGA_TARGET setado, tinha que definir área
por área como mandava o figurino, senão...

Isso aí cara, espero ter ajudado.
Se eu disse alguma besteira por favor me corrijam.


2010/9/2 Erick Tostes er...@geekbr.com.br




 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Não cheguei a mexer a fundo nisso, mas acredito que isso já lhe ajude
 a entender melhor

 http://www.dba-oracle.com/oracle11g/oracle_11g_memory_target_parameter.htm

 Erick T.
 sysadmin
 www.geekbr.com.br
 skype:dbflush?chat Yahoo!: ymsgr:sendIM?geekbr
 gTalk: xmpp:gee...@jabber.org geekbr%40jabber.org
 ICQ/AIM: aim:GoIM?screenname=70596884
 MSN: 
 msnim:chat?contact=blackcatdbfl...@hotmail.comchat%3Fcontact%3Dblackcatdbflush%40hotmail.com

 - - -BEGIN GEEK CODE BLOCK-
 GCM/C d- s-:--- a- C+++ ULB+++(+)$ P- E--- W+++(--)@$ N++ o--@ k! w--
 O!-- M+
 PS+ PE-Y!@ tv++ b+++ DI+@ G++ e* h+ r+ z+*
 - - --END GEEK CODE BLOCK--

 Em 02-09-2010 07:58, ammorrimm escreveu:

  Bom dia colegas, tudo tranquilo ?
 
  Estou com algumas pequenas dúvidas sobre parametros de memória no 11G
 que não haviam no 10G e sobre a questão do gerenciamento automatico de
 memoria..
 
  Os parametros MEMORY_TARGET e MEMORY_MAX_TARGET foram introduzidos no
 primeiro release do 11G e não estou sabendo configura-los da forma
 correta, mediante os parametros SGA_MAX_SIZE e SGA_TARGET. Qual seria a
 diferença entre eles ?
 
  Outra dúvida é quanto o gerenciamento automático de memória. Me recordo
 de alguns foruns gringos (e até mesmo do TOM), onde relatavam problemas
 nesta feature para o gerenciamento de SGA gigantes...esta dificuldade
 continua no 11.1.0.6 ou ja foi superada ? Alguem teria algum relato
 sobre isso ?
 
  Abraços e obrigado
 
 
 
  

 
  --
  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
 
 
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.10 (GNU/Linux)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

 iQIcBAEBAgAGBQJMgBBdAAoJEDX7/pST8RnijCMP/3Ux69hlE/zwtfRIOtJV5mPc
 ovzCT42C5hrKOC5ITg9K0CH8x/+hO5/tp7MqwR2JSEjSJE4nRYizI9rz67Y20lMA
 4HAixhTvb9kpyhfy2UkT/6+maJsEcHvK93GuKEya6cL3ZgckzMRWQAoDMHbgNNnl
 X73Nrqz3abeEU3qqB8duNQZeg+aIFzbm+8YfGsfxxb7t9afFLgiQ7XrQbxtxHuow
 iWVmTRNqjS9DSUdN+49DoGf3wnGWPpiBwU94ZWkwixc7bczRsootMBtjsGlcV5Hd
 haM692p82SdFogAJEeZbyFOQdk5Hw5IsprAJI9BYgl2rx89bZCd3QXQHAVq3nyoq
 IiODS/e/yhpHF2d5pIWeV31i8pJMu3DUTBMknIhmrA/IU2Lz46FQFsBYTizjhEAV
 bB6xP5R8puBMRoIXA9R2zu2jOOKOKvepRozdsnIIRdcqxvt+6aGtizoFiOJGjulW
 WnsWB4j96j3W00lfo+Koep9OWJp1m70CJBvEpmVWqiAoSwrYfXDGFYDUCjoA12sE
 18V1+7XzVTtAUKTwdVugBWK3BcvPnkHUzUC1l33MLVyOoWytqu1Ljn/oiHr+c6Uc
 YT4L5oMZwAun70r1nbVDM/bZv8txPpK5re47y6VCZilZOdekLSwFQkdzJSaiNdk8
 Pqg7g9F388NSIS1Hb89C
 =XuCR
 -END PGP SIGNATURE-

  




-- 
Hevandro Veiga
Oracle Certified Associate 11g


[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/  

Re: [oracle_br] Problema em Parametro de Procedure

2010-09-02 Por tôpico Andre Santos
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.brescreveu:



 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




[oracle_br] Re: Problema em Parametro de Procedure

2010-09-02 Por tôpico José Laurindo
http://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:210612357425 
e 
http://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:110612348061#3653068157543
 são duas threads Clássicas sobre o assunto, onde são debatidas as muitas 
técnicas possívels, mas ** DE FORMA ALGUMA ** eu uso 'SQL dinâmico'  e 'fácil' 
na mesma frase, a não ser para dizer o quanto são conceitos incompatíveis... 
Sim, além da segurança também a performance pode ser Seriamente afetada por SQL 
dinâmico, muitas vezes ele é um pé pra se debugar, eu FUJO desse cara o quanto 
der
 No caso em questão , imho o Realmente Fácil é vc ter uma tabela temporária 
(uma Global temporary Table, talvez) com uma coluna (numerica, já que são 
números) onde vc enfia os parâmetros , aí o SQL passou a ser fixo :

 SELECT nnn FROM tabela
   WHERE coluna in (select colunacomoparametro FROM tabelatemp);

 pronto, mais fácil que isso não tem...

 []s

  Chiappa

--- Em oracle_br@yahoogrupos.com.br, Andre Santos andre.psantos...@... 
escreveu

 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...@...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]





[oracle_br] Re: Problema em Parametro de Procedure

2010-09-02 Por tôpico José Laurindo
Colega, ** evidente ** que o bd Oracle por si só não consegue converter para 
NUMBER uma string tipo :

1,2,3,4

pois NUMBER pra ele, como documentado, é info composta por DÌGITOS NUMÉRICOS e 
vc tem separadores aí (vírgula), o que traz à baila uma OUTRA questão : uma 
param NUMBER é ESCALAR, pode guardar UM ÚNICO VALOR... 

 Vc até poderia na procedure receber a string , separar os valores que estão 
nela ( 
http://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:2189860818012 
tem um exemplo, é basicamente usar as funções de string para processar os 
'pedaços' que vc recebeu) ,  OU ainda vc poderia ter um array como parâmetro da 
procedure ( 
http://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:712625135727#31840580327095
 fala sobre) MAS eu realmente aconselharia um approach mais simples, low-tech : 
tenha uma tabela de trabalho com os valores preenchida antes de chamar a proc e 
nela manda um WHERE coluna in (select from tabelatrab) ; , e be happy...

 Há outras possibilidades (veja na outra msg desta thread aqui do fórum que eu 
cito uns links sobre elas) , mas imho a filosofia K.I.S.S. (mantenha as coisas 
Simples)  rules...

 []s

   Chiappa

--- Em oracle_br@yahoogrupos.com.br, Gustavo Queiroz gustavo...@... 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





Re: [oracle_br] Re: Problema em Parametro de Procedure

2010-09-02 Por tôpico Andre Santos
Mestre Chiappa

Conheço essas threads do AskTom.
Porém, como têm muitos artifícios técnicos, podem enrolar (ou assustar)
quem está iniciando.

Eu não chegaria a ser tão radical a ponto de dizer nunca usaria... (mas
claro que respeito sua opinião).
No caso específico, caso usasse SQL dinâmico, o mais importante seria
validar a string de parâmetro (com a lista).

O essencial é saber dos riscos... e foi isso que quis enfatizar.  ;)

Ah! A a solução de tabela temporária, se for viável no contexto dele, seria
melhor mesmo (e simples).

[ ]

André


Em 2 de setembro de 2010 22:19, José Laurindo jlchia...@yahoo.com.brescreveu:




 http://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:210612357425e
 http://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:110612348061#3653068157543são
  duas threads Clássicas sobre o assunto, onde são debatidas as muitas
 técnicas possívels, mas ** DE FORMA ALGUMA ** eu uso 'SQL dinâmico' e
 'fácil' na mesma frase, a não ser para dizer o quanto são conceitos
 incompatíveis... Sim, além da segurança também a performance pode ser
 Seriamente afetada por SQL dinâmico, muitas vezes ele é um pé pra se
 debugar, eu FUJO desse cara o quanto der
 No caso em questão , imho o Realmente Fácil é vc ter uma tabela temporária
 (uma Global temporary Table, talvez) com uma coluna (numerica, já que são
 números) onde vc enfia os parâmetros , aí o SQL passou a ser fixo :

 SELECT nnn FROM tabela
 WHERE coluna in (select colunacomoparametro FROM tabelatemp);

 pronto, mais fácil que isso não tem...

 []s

 Chiappa

 --- Em oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br,
 Andre Santos andre.psantos...@... escreveu

 
  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...@...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]
 

  



[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