Re: [oracle_br] Calculo de datas - Ano Mes e Dia

2009-11-20 Por tôpico Douglas Falcão
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

2009-11-20 Por tôpico Douglas Falcão
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

2009-11-11 Por tôpico Douglas Falcão
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...

2009-06-23 Por tôpico Douglas Falcão
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]