Re: [oracle_br] Calculo de datas - Ano Mes e Dia
Grimaldo.. sabendo que Data2 - Data1 = diferenca_em_dias, bastam alguns cálculos sobre esse número para que chegue onde quer Ex.: SQL select sysdate from dual; SYSDATE 20/11/09 SQL select sysdate - to_date('10/03/1981', 'dd/mm/') from dual; SYSDATE-TO_DATE('10/03/1981','DD/MM/') -- 10482,5882 PARA CACULAR o ANO: SQL select 10482.5882 /365 from dual; -- 28,7194197 SQL select trunc(10482.5882 /365) anos from dual; ANOS -- 28 PARA CALCULAR OS MESES SQL select 12 * 0.7194197 from dual; 12*0.7194197 8,6330364 SQL select trunc(12 * 0.7194197) meses from dual; MESES -- 8 Segue o mesmo raciocínio para a quantidade de dias, horas, minutos, sempre trablahando com a parte decimal. DICA: Coloca essa encrenca de forma procedural e cria uma função que retorne o que tu quiser cfe. parâmetros. Att. Douglas Falcão. 2009/11/20 Grimaldo Lopes grimaldo_lo...@hotmail.com Caros colegas, necessio de um select para que me retorne a diferença entre duas datsa em anos mes e dias. Ex: 01/01/2009 10/02/2010 Resposta: 01 ano 01 mes e 09 dias Isso é possível?. Grimaldo __ Converse e compartilhe fotos ao mesmo tempo. Saiba como no novo Site de Windows Live. http://www.windowslive.com.br/?ocid=WindowsLive09_MSN_Hotmail_Tagline_out09 [As partes desta mensagem que não continham texto foram removidas] -- Douglas Falcão --- Oracle Certified Application Developer Sun Java Certified Associate --- Business Analyst / Business Intelligence Analyst mail: douglas dot falcao at gmail dot com [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
Re: [oracle_br] Re: Function - PL/SQL
Concordo com o Chiappa.. Matheus.. ao chamar uma função cujo parâmetro é do tipo VARCHAR2, você tem basicamente duas formas de informar o valor deste parâmetro. 1) De forma literal: var := funcao('VALOR'); 2) De forma variável: par1 varchar2 := 'VALOR'); var := funcao(par1); Em sua função fn_verifica_depto estás usando a forma LITERAL enquanto deveria usar a forma VARIAVEL, com o parâmetro do código do depto fn_verifica_depto(upper(v_cdepto)); []s Douglas Falcão. 2009/11/19 jlchiappa jlchia...@yahoo.com.br --- Em oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br, Matheus Malta maltamath...@... escreveu Então galera... Negócio é o seguinte... Ao executar a função, normalmente, utilizando a tabela DUAL para isso, eu tenho que mencionar, ao passar o parâmetro, o valor entre apóstrofes, pois o datatype é do tipo varchar2, Não, não e ** não ** : a sintaxe do PL/SQL é Clara : ao vc circundar com 's algo esse algo vira um STRING FIXA, se vc quer referenciar o conteúdo duma variável, PLEASE use o nome dela SEM 's, seja QUAL FOR o datatype Deixe-me dar um exemplo para tentar esclarecer : digamos que vc quer chamar a rotina PUT_LINE (que está na package DBMS_OUTPUT, mas não importa, o conceito é o mesmo pra procedures/functions isoladas), veja o código abaixo : DECLARE v_teste varchar2(40); BEGIN v_teste := 'teste da rotina!!'); dbms_output.put_line(upper('v_teste')); END; == qual vai ser o resultado da chamada, o que foi passado pra rotina ? Isso aqui : V_TESTE pois (mais uma vez, NÃO importando o datatype) SE vc botar entre 's pro PL/SQL isso é uma string FIXA, no caso composta pelas letras v, _, t, e, s, etc E veio em maiusc por causa do upper... NOvamente, imagino que NÃO é isso o que vc desejava, vc queria referenciar o CONTEÚDO da var, isso se faz SEM 's , assim : DECLARE v_teste varchar2(40); BEGIN v_teste := 'teste da rotina!!'); dbms_output.put_line(upper(v_teste)); END; === AGORA sim o resultado vai ser o CONTEÚDO da var passado pra rotina, assim : TESTE DA ROTINA!! ok ? Compreendido ?? IMAGINO que é este último o Resultado que vc queria na sua rotina... []s Chiappa -- Douglas Falcão --- Oracle Certified Application Developer Sun Java Certified Associate --- Business Analyst / Business Intelligence Analyst mail: douglas dot falcao at gmail dot com [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
Re: [oracle_br] View lenta
Elis Verifica o plano de execução da consulta utilizando o Connect By. Certamente está com várias execuções a mais neste caso, devido a recursividade e talvez pela condição do encadeamento. Att. Douglas Falcão 2009/11/9 Elis Azevedo Nery elisn...@yahoo.com Boa Tarde! Tenho uma situação estranha. Quando eu corro o select que está dentro da view, é rapidíssimo, mas se eu faço um select na view, nunca mais retorna resultado. A única coisa de diferente que o código tem, é um connect by. Alguém já passou por esta situação? Obrigada Elis __ Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] -- Douglas Falcão --- Oracle Certified Application Developer Sun Java Certified Associate --- Business Analyst / Business Intelligence Analyst mail: douglas dot falcao at gmail dot com [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
Re: [oracle_br] Monitoramento de Tablespace...
Márcio. Podes utilizar o Enterprise Manager para isso, mas se queres desenvolver, um conjunto de Job do Oracle disparando uma proc de monitoramento que utiliza uma package do Oracle chamada UTL_SMTP para enviar e-mails com os resultados. []s Douglas Falcão --- Oracle Certified Application Developer Sun Java Certified Associate --- Business Analyst / Business Intelligence Analyst mail: douglas dot falcao at gmail dot com 2009/6/22 Márcio Ricardo Alves da Silva marcio_...@yahoo.com.br Untitled DocumentOlá. Estou querendo monitorar o crescimento das minhas tablespace. Gostaria de faze-los via scheduler. Estou tentando montar um schedule pelo agendador do windows, e gostaria que me enviasse o resultado por e-mail. Alguém tem uma dica de como posso enviar o resultado do meu select por e-mail? Tem os jobs do oracle também, conseguiria fazer isso no oracle? Grato, Márcio. [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 [As partes desta mensagem que não continham texto foram removidas]