Pular para o conteúdo principal

Array no PL/SQL (Oracle)

Trabalhar com estruturas indexadas pode nos poupar muito trabalho, deixar o código mais limpo e reutilizável, pois bem vamos dar um exemplo de como fazer isso no PL/SQL. Criaremos um tipo table que seja capaz de armazenar nomes de uma tabela de funcionários de forma indexada, e em seguida mostraremos o que foi armazenado, segue o código:

  1: declare
  2:   -- tipo tabela contendo apenas texto e indexado
  3:   type   TipoNomFunc is table of varchar2(200) index by binary_integer;
  4:   -- variável do nosso tipo (como nosso tipo é indexado ele funcionará como um array)
  5:   func   TipoNomFunc;
  6:   -- indice para loop
  7:   indice number := 1;
  8:   --
  9: begin
 10:   --
 11:   -- cursor para nossa tabela de funcionarios
 12:   for emps in (
 13:       select * 
 14:       from   funcionarios
 15:   ) 
 16:   loop
 17:     -- colocamos o nome do funcionario em nosso "vetor"
 18:     func(indice) := emps.nom_funcionario;
 19:     -- incrementamos o indice
 20:     indice := indice + 1;
 21:     --
 22:   end loop;
 23:   --
 24:   -- agora percorremos todo nosso "vetor" e mostramos seu conteúdo
 25:   indice := func.first;
 26:   loop
 27:     -- se não houver um próximo sai do loop
 28:     exit when indice is null;
 29:     dbms_output.put_line(indice || ':' || func(indice));
 30:     indice := func.next(indice);
 31:     --
 32:   end loop;
 33:   --
 34: end;

Comentários

  1. como faço para criar uma função armazenada cujo o parametro é um número decimal de no maximo tres algarismos e que retorne seu valor por extenso?
    P.S se puder me ajudar ficarei muito grato.
    obrigado e até mais.

    ResponderExcluir
  2. muito bom e de fácil compreensão. Obrigado.

    ResponderExcluir

Postar um comentário

Obrigado por Participar do programero, fique a vontade para agradecer, retificar, perguntar ou sugerir.

Mais visitadas

Lista de políticos com ficha suja

ATUALIZAÇÃO (08/03/2012 ano de eleição) Representantes de duas pessoas da lista (Eliseu Padilha e Alex Canziani) entraram em contato e pediram que esses fossem removidos, alegando que não houve condenação. É justo essa requisição, porém vale lembrar que escândalos nacionalmente reconhecidos de corrupção não deram em nada, por isso o que realmente conta nesse ano de eleição é uma pesquisa minuciosa sobre os candidatos escolhidos, eu particularmente, por não estar nem um pouco satisfeito, não irei votar em ninguém que já tenha sido eleito. Estou voltando a postar por um motivo nobre, meu tempo continua apertado mas esse post é rápido, na verdade nem meu ele é (visitem o espaço de nosso amigo Lord ), estou apenas repassando essa valiosa informação. Teremos eleição esse ano, e é importante não repetirmos erros passados, vamos ficar atentos em relação a esses nomes e exclui-los de vez do cenário politico nacional. Façamos nossa parte, publicando em nossos blog...

Alterar cores do PageControl (Delphi)

O padrão Windows todo cinza não é muito atraente, por isso quando nos utilizarmos do PageControl podemos alterar suas cores e fontes da seguinte maneira: Em primeiro lugar devemos alterar a propriedade OwnerDraw para TRUE ; Depois implementar seu método DrawTab da seguinte maneira: //pinta a fonte Control.Canvas.Font.Color:=clBlack; // // pinta a paleta / aba Control.Canvas.brush.Color:=clSkyBlue; PageControl1.Canvas.Rectangle(Rect); Control.Canvas.TextOut(Rect.left+5,Rect.top+3,PageControl1.Pages[tabindex].Caption); // pinta a parte interna (tabsheet) PageControl1.Pages[TabIndex].brush.Color := Control.Canvas.brush.Color; PageControl1.Pages[TabIndex].Repaint; Caso a intenção seja manter cada aba com seu próprio estilo basta adicionar um CASE filtrando o índice das abas: case TabIndex of   0: Control.Canvas.Font.Color:=clBlack;   1: Control.Canvas.Font.Color:=clWindow; ...

Aplicação Flask usando Nginx e Gunicorn

Aplicação Flask usando Nginx e Gunicorn Se você já desenvolveu uma aplicação Flask básica, sabe que o servidor de desenvolvimento embutido não é ideal para produção. Ele não é projetado para lidar com altos volumes de tráfego ou conexões simultâneas. Para tornar sua aplicação Flask mais robusta e pronta para produção, podemos usar o Gunicorn como servidor de aplicação e o Nginx como proxy reverso. Neste artigo, vamos adaptar o exemplo anterior ( Criando uma Aplicação CRUD com Flask, PostgreSQL e Docker ) para incluir o Nginx e o Gunicorn. O que são Nginx e Gunicorn? Gunicorn O Gunicorn (Green Unicorn) é um servidor de aplicação WSGI que roda aplicações Python como o Flask. Ele é eficiente e simples de configurar, lidando com múltiplas requisições ao mesmo tempo, algo que o servidor embutido do Flask não faz bem. Nginx O Nginx é um servidor web que atua como um proxy reverso. Ele recebe requisições HTTP e as encaminha ao Gunicorn. Além disso, o Nginx pode: Servir arquivos ...