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: declare2: -- tipo tabela contendo apenas texto e indexado3: 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 loop7: indice number := 1;8: --9: begin10: --11: -- cursor para nossa tabela de funcionarios12: for emps in (13: select *14: from funcionarios15: )16: loop17: -- colocamos o nome do funcionario em nosso "vetor"18: func(indice) := emps.nom_funcionario;19: -- incrementamos o indice20: indice := indice + 1;21: --22: end loop;23: --24: -- agora percorremos todo nosso "vetor" e mostramos seu conteúdo25: indice := func.first;26: loop27: -- se não houver um próximo sai do loop28: 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;
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?
ResponderExcluirP.S se puder me ajudar ficarei muito grato.
obrigado e até mais.
muito bom e de fácil compreensão. Obrigado.
ResponderExcluir