Funções em Arrays

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Pablo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 190
Registrado em: Sex, 27 Out 2006 11:12 am
Localização: 88350000
Pablo

Bom dia turma
Eu possuo um Array e preciso saber como posso chamar "funções" deste array.
Por exemplo:
quero saber quantas linhas existe neste array, então chamo array.count e por ai afora. Se alguém tiver um site para indicar ou apostila.

abraços
ishii
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 82
Registrado em: Ter, 28 Dez 2010 7:41 pm
Localização: São Paulo - SP

Olá,

Coloque como está o seu código aqui para que possamos te ajudar melhor. Com o exemplo visual fica mais fácil entender melhor.

[]s Ishii
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, beleza?

Cara, dá uma pesquisada também aqui no fórum por PL/SQL Table.
Você irá encontrar tópicos interessantes como este:

PL/SQL Table


Qualquer coisa, manda pra gente.
Pablo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 190
Registrado em: Sex, 27 Out 2006 11:12 am
Localização: 88350000
Pablo

Cara, tipo assim,,,não dá pra colocar o código porque vai ficar confuso...
mas, é mais ou menos assim:
Tenho um select e jogo os valores dentro de um cursor

Selecionar tudo

 fetch xc_ bulk collect into retorno; 
jogo esta "coleção" de dados dentro de um array.... e depois coloco em um loop....
mas, existem "comandos" que dá pra utilizar neste array, por exemplo, saber a quantidade de linhas que este array tem (array.count) ou se um valor existe dentro do array (array.exists (valor)).
Bom, gostaria de saber se existe mais desses "comandos" (count, exists) para ser aplicado no array...

Não sei se fui claro.

Abraços
marcus.kobel
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 45
Registrado em: Qui, 12 Mai 2011 4:54 pm
Localização: Porto Alegre - RS

jogo esta "coleção" de dados dentro de um array.... e depois coloco em um loop
Amigão,
por que você tira os registros do cursor e coloca em um array?
O cursor é como se fosse um array, e funciona muito bem.
Te aconselho a não complicar mais e fazer SELECT COUNT na mesma query pra saber o número de resultados e depois fazer o processamento apenas usando o cursor.

Não sei como é o seu código, mas ta parecendo gambiarra.
Pablo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 190
Registrado em: Sex, 27 Out 2006 11:12 am
Localização: 88350000
Pablo

gambiarra...kkkkkkkkk...
marcus.kobel, bom,,, técnicamente não quero partir para a gambiarra... eu utilizo o cursor sim, mas, quero saber se existe "funções" para utilizar sem precisar colocar colocar em um loop. Por exemplo: quero fazer um "sum" de um valor sem colocar ele em um loop.... ou saber quantos registros tem neste cursor sem precisar colocar em loop (eu utilizao o cursor.count)...e por ai a fora..
não sei se fui claro.

Obrigado
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Olá Pablo,

Não sei qual a versão de Oracle que você está trabalhando, mas digamos que seja 10g.

No link abaixo, você pode baixar a documentação do Oracle 10g:

Selecionar tudo

http://www.oracle.com/technetwork/database/database10g/documentation/database10gr2-087366.html
Neste link em específico, você consegue consultar o manual PL/SQL do 10g:

Selecionar tudo

http://www.oracle.com/pls/db102/to_pdf?pathname=appdev.102%2Fb14261.pdf&remark=portal+%28Getting+Started%29
Utilize o ultimo link para baixar este manual:

Selecionar tudo

Oracle® Database PL/SQL User's Guide and Reference
10g Release 2 (10.2)
Part Number B14261-01
Baixado este manual, leia o capítulo 5 - "Using PL/SQL Collections and Records".

Se já quiser ir direto ao assunto (funções/métodos), consulte o tópico Using Collection Methods.

Você terá uma descrição completa (farta, com códigos de exemplo) dos seguintes métodos:

Selecionar tudo

.LAST
.FIRST
.COUNT
.EXISTS
.LIMIT
.PRIOR
.NEXT
________________
.EXTEND
.DELETE
.TRIM
Espero que esta informação lhe ajude.

Abraços,

Sergio Coutinho
Pablo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 190
Registrado em: Sex, 27 Out 2006 11:12 am
Localização: 88350000
Pablo

Caro STCOUTINHO... era isso mesmo q eu queria....eu não sabia que estas "expressões" eram chamadas de métodos...

Obrigado pela força

Abraços
ishii
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 82
Registrado em: Ter, 28 Dez 2010 7:41 pm
Localização: São Paulo - SP

Pablo,

É isso mesmo, não respondi diretamente, pois você poderia estar construindo um Java Procedure ou até uma Procedure Oracle normal mesmo, como não ficou claro na sua pergunta, poderia haver várias respostas...

[]s Ishii
Pablo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 190
Registrado em: Sex, 27 Out 2006 11:12 am
Localização: 88350000
Pablo

Ow Ishii....
pois é, eu não sabia como descrever minha pergunta pois não sabia que o que eu queria éram os métodos de um cursor.
Mas, mesmo assim, muito obrigado pela força.

Abraços
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 9 visitantes