RES: [oracle_br] SELECT chato!

2011-11-17 Por tôpico Milton Bastos Henriquis Junior
Boa tarde Marcos!

Parabéns, sua query ficou SENSACIONAL!
Perfeita, retornou exatamente o que eu queria, se encaixou na regra, e vc ainda 
conseguiu fazer sem usar funções analíticas...
Funcionou muito bem, muito obrigado!

Abraço!

--
Milton Bastos
http://miltonbastos.com

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em nome 
de Marcos de Moura Gonçalves
Enviada em: quinta-feira, 17 de novembro de 2011 16:19
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] SELECT chato!

Boa tarde Milton,

Parafraseando o Chiappa: pmfji... rs Eu imaginei uma solução em SELECT,
ficou relativamente simples, veja se é o que vc precisa:

SELECT datahora
FROM (SELECT z.datahora,
   CASE
  WHEN z.datahora = z.datahora_mais_15
 THEN (SELECT MIN (y.datahora)
 FROM tabela y
WHERE y.a = 392597 and y.datahora > z.datahora)
  ELSE z.datahora_mais_15
   END datahora_mais_15_ajustado
  FROM (SELECT   x.datahora, (SELECT MAX (y.datahora)
 FROM tabela y
WHERE y.a = 392597 and y.datahora <= x.datahora +
(15 / 24 / 60)) datahora_mais_15
FROM tabela x
where x.a = 392597
ORDER BY x.datahora) z) m
START WITH m.datahora = (SELECT MIN(y.datahora) FROM tabela y where
y.datahora = 392597)
CONNECT BY PRIOR m.datahora_mais_15_ajustado = m.datahora
/

O SELECT principal é o select onde uso o alias x. Nele trago apenas a
coluna datahora e crio uma coluna datahora_mais_15 onde pego o maior valor
datahora de algum outro registro que seja menor à própria datahora mais 15
minutos (15 / 24 / 60). Depois faço uma correção para pegar o próximo
registro quando não tem nenhum num intervalo de 15 minutos, isto é, quando
datahora = datahora_mais_15 (é o case no select externo ao primeiro). Pra
finalizar, no select mais externo, faço um connect by prior conectando
datahora ao datahora_mais_15_ajustado. Acredito que esse select deve te
retornar apenas as horas que vc precisa. Aí é ajeitar a solução à query que
vc precisa.

[]s

Marcos


Em 17 de novembro de 2011 10:15, Milton Bastos Henriquis Junior <
milton.bas...@meta.com.br> escreveu:

> **
>
>
> Bom dia pessoal!
>
> Ambiente:
> Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit
> Production (Exadata)
>
> Estou enferrujado em SQL e preciso fazer um Select que está me
> assombrando... se alguém conseguir me ajudar, ficarei muito agradecido!
> Lá vai:
>
> Tenho uma tabela, e fiz a seguinte query:
>
> select a, to_char(datahora, '/mm/dd HH24:MI') b, c
> from tabela
> where a = 392597
> order by 2;
>
> A B C
> 392597 2011/11/10 07:43 4847277
> 392597 2011/11/10 07:45 4847316
> 392597 2011/11/10 07:47 4847357
> 392597 2011/11/10 07:49 4847404
> 392597 2011/11/10 07:52 4847471
> 392597 2011/11/10 07:53 4847500
> 392597 2011/11/10 07:55 4847547
> 392597 2011/11/10 07:57 4847595
> 392597 2011/11/10 07:59 4847631
> 392597 2011/11/10 08:01 4847664
> 392597 2011/11/10 08:04 4847715
> 392597 2011/11/10 08:05 4847732
> 392597 2011/11/10 08:08 484
> 392597 2011/11/10 08:09 4847800
> 392597 2011/11/10 08:11 4847851
> 392597 2011/11/10 08:13 4847901
> 392597 2011/11/10 08:15 4847952
> 392597 2011/11/10 08:17 4848002
> 392597 2011/11/10 08:19 4848049
> 392597 2011/11/10 08:21 4848100
>
> Isolei esta amostra de dados pra facilitar a explicação.
>
> A query que preciso montar será para gerar um relatório, que terá como
> parâmetro de entrada a coluna A - por isso fixei um valor na cláusula WHERE.
> Reparem que há um registro a cada 2 minutos (considerando a coluna B), e
> caso seja gerado um relatório com o período de 3 dias, por exemplo, o
> relatório ficaria muito extenso.
> A idéia é diminuir a quantidade de registros - reparem que a coluna C é um
> valor cumulativo (na real o campo C é um odômetro de um veículo, ou seja,
> kilometragem total de um veículo).
> Portanto, para este relatório, não é necessário ter TODOS os registros. A
> idéia é filtrar e trazer registros a cada 15 minutos, usando a seguinte
> regra:
>
> - O primeiro registro é de 07:43 (conforme exemplo acima).
> - O próximo registro do relatório deve ser o registro anterior acrescido
> de 15 minutos, porém NÃO deve ultrapassar 15 minutos.
> 07:43 + 00:15 = 07:58.
> Portanto o segundo registro a ser mostrado seria o das 07:57.
> O terceiro: 07:57 + 00:15 = 08:12, portanto seria o registro das 8:11.
>
> Neste exemplo coincidiu do segundo e terceiro registros serem igual ao
> anterior + 14 minutos, mas foi coincidência, pode ser que não exista um
> registro com 14 minutos a mais que o anterior (daí quero pegar com 13... ou
> com 12... e assim por diante).
>
> Caso não exista um registro dentro dos próximos 15 minutos, ou seja, com
> intervalo MENOR que 15 minutos, daí tem que vir o próximo registro com
> tempo mais próximo (+00:16... +00:17... e assim por diante).
>
> É possível fazer isto apenas com uma query? Ou precisari

RES: [oracle_br] select

2011-05-27 Por tôpico Sergio
Bom dia! Carlos,

Tente isso:

select * from t1
where not exists (select 1 from t2 where t2.chave = t1.chave);

abraço
Sérgio

  -Mensagem original-
  De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br]Em
nome de Carlos Pinto
  Enviada em: Thursday, May 26, 2011 14:59
  Para: oracle_br@yahoogrupos.com.br
  Assunto: [oracle_br] select



  Boa tarde,

  Amigos, como posso fazer um SELECT de duas tabelas onde o resultado é
todos
  os registos da primeira tabela que não existam na segunda tabela.

  Obrigado.

  Com os melhores cumprimentos,

  Carlos Pinto

  [As partes desta mensagem que não continham texto foram removidas]



  


[As partes desta mensagem que não continham texto foram removidas]



RES: [oracle_br] Select com várias condicionais

2010-08-23 Por tôpico Dênio Flávio Garcia da Silva
Pode usar

 

Select * from vendas where

Codigovend = decode(vendas.filial, 1, ‘001’, 2, ‘020’, 3, ‘011’, 4, ‘009’)

 

ABRAÇOS

DENIO

 

De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em
nome de Estéfano Tonon
Enviada em: sexta-feira, 20 de agosto de 2010 16:29
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Select com várias condicionais

 

  


Boa tarde!

Sou iniciante... e não achei nada específico no google... Me perdoem a 
ignorância.

Quero que uma tabela me retorne o total de vendas por vendedor 
(básico)... mas as vendas de todas filiais estão em uma mesma tabela e 
em cada filial o mesmo vendedor tem códigos diferentes (não me perguntem 
porque)...

Seria algo assim:

Vendedor José:
Filial 1: código 001
Filial 2: código 020
Filial 3: código 011
Filial 4: código 009

*Como ficaria o código pra esse select?*

select * from vendas where
(... aqui precisaria de um 'if' da vida pra ou um condicional, mais ou 
menos assim e é nesse momento que para tudo... )
case
when vendas.filial = 1 then vendas.codigovend = '001'
when vendas.filial = 2 then vendas.codigovend = '020'
when vendas.filial = 3 then vendas.codigovend = '011'
when vendas.filial = 4 then vendas.codigovend = '009'
end

Obrigado!

Att.

Estéfano

[As partes desta mensagem que não continham texto foram removidas]




-- 
Mensagem verificada pelo sistema de antivírus da Aser Security. 


-- 
Mensagem verificada pelo sistema de antivírus  da Aser Security.



[As partes desta mensagem que não continham texto foram removidas]



RES: RES: [oracle_br] Select dentro de uma trigger

2010-02-04 Por tôpico Sharif - Yahoo
Rodrigo obrigado pela ajuda... 

 

Estava faltando o Grant abaixo...

 

grant select on v_$mystat to user_;

 

 

De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em
nome de Rodrigo Mufalani
Enviada em: 4 de fevereiro de 2010 12:39
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: RES: [oracle_br] Select dentro de uma trigger

 

  

Boa tarde,

Uma outra coisa que você precisa é grant explícito na v_$session para
escrever código PL/SQL em cima dela. O schema que será o owner da
trigger tem que receber o grant de select em todas as tabelas
envolvidas.

Atenciosamente,

Rodrigo Mufalani
DBA - OCP 10g & 11g +RAC
Oracle ACE Member
tel.: (21) 8851-4817
www.mrdba.com.br/mufalani/
mufal...@mrdba.com.br <mailto:mufalani%40mrdba.com.br> 

Olá Rodrigo… na verdade o select inteiro seria esse… e o erro que está
dando
é “SQL: ORA-00942: table or view does not exist”

SELECT SID, SERIAL# INTO vSID, vSERIAL FROM v$session WHERE SID =
(SELECT SID FROM v$mystat WHERE ROWNUM = 1);

Abraços,

Sharif

De: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br>
[mailto:oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br>
] Em
nome de Rodrigo Mufalani
Enviada em: 4 de fevereiro de 2010 12:21
Para: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> 
Assunto: Re: [oracle_br] Select dentro de uma trigger

 
Bom dia Sharif,

Normalmente quando você está usando PL/SQL você carrega o retorno do
select em uma variável. Ex.:

Set serverout on

declare
vSID varchar2(8);

begin

SELECT SID
into vSID
FROM
v$mystat
WHERE
ROWNUM = 1;

dbms_output.put_line('valor da minha variavel e: '||vSID);

end;
/

Isso é um exemplo de bloco anônimo, ajuste ai no seu trigger.

Atenciosamente,

Rodrigo Mufalani
DBA - OCP 10g & 11g +RAC
Oracle ACE Member
tel.: (21) 8851-4817
www.mrdba.com.br/mufalani/
mufal...@mrdba.com.br <mailto:mufalani%40mrdba.com.br> 

Pessoal, dentro de uma trigger não está funcionando o select abaixo… porem
no sqlplus funciona normalmente. Devo dar alguma permissão à mais ?

SELECT SID FROM v$mystat WHERE ROWNUM = 1

Abraços,

Sharif





[As partes desta mensagem que não continham texto foram removidas]



RES: [oracle_br] Select dentro de uma trigger

2010-02-04 Por tôpico Sharif - Yahoo
Valeu Diego realmente era isso... 
Obrigado

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em
nome de Diego Leite
Enviada em: 4 de fevereiro de 2010 12:43
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] Select dentro de uma trigger

Amigao o seu problema eh privilegio...


grant select on v_$mystat to user_diego;


porem na query use a view v$mystat...




Em 4 de fevereiro de 2010 12:27, Sharif - Yahoo
escreveu:

>
>
> Olá Rodrigo… na verdade o select inteiro seria esse… e o erro que está
> dando
> é “SQL: ORA-00942: table or view does not exist”
>
> SELECT SID, SERIAL# INTO vSID, vSERIAL FROM v$session WHERE SID =
> (SELECT SID FROM v$mystat WHERE ROWNUM = 1);
>
> Abraços,
>
> Sharif
>
> De: oracle_br@yahoogrupos.com.br  [mailto:
> oracle_br@yahoogrupos.com.br ] Em
> nome de Rodrigo Mufalani
> Enviada em: 4 de fevereiro de 2010 12:21
> Para: oracle_br@yahoogrupos.com.br 
> Assunto: Re: [oracle_br] Select dentro de uma trigger
>
>
>
> Bom dia Sharif,
>
> Normalmente quando você está usando PL/SQL você carrega o retorno do
> select em uma variável. Ex.:
>
> Set serverout on
>
> declare
> vSID varchar2(8);
>
> begin
>
> SELECT SID
> into vSID
> FROM
> v$mystat
> WHERE
> ROWNUM = 1;
>
> dbms_output.put_line('valor da minha variavel e: '||vSID);
>
> end;
> /
>
> Isso é um exemplo de bloco anônimo, ajuste ai no seu trigger.
>
> Atenciosamente,
>
> Rodrigo Mufalani
> DBA - OCP 10g & 11g +RAC
> Oracle ACE Member
> tel.: (21) 8851-4817
> www.mrdba.com.br/mufalani/
> mufal...@mrdba.com.br 
>
> Pessoal, dentro de uma trigger não está funcionando o select abaixo… porem
> no sqlplus funciona normalmente. Devo dar alguma permissão à mais ?
>
> SELECT SID FROM v$mystat WHERE ROWNUM = 1
>
> Abraços,
>
> Sharif
>
>  
>



-- 
Att,


Diego Leite
DBA ORACLE


[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





Re: RES: [oracle_br] Select dentro de uma trigger

2010-02-04 Por tôpico Rodrigo Mufalani
Boa tarde,

   Uma outra coisa que você precisa é grant explícito na v_$session para
escrever código PL/SQL em cima dela. O schema que será o owner da
trigger tem que receber o grant de select em todas as tabelas
envolvidas.

Atenciosamente,

Rodrigo Mufalani
DBA - OCP 10g & 11g +RAC
Oracle ACE Member
tel.: (21) 8851-4817
www.mrdba.com.br/mufalani/
mufal...@mrdba.com.br



Olá Rodrigo… na verdade o select inteiro seria esse… e o erro que está
dando
é “SQL: ORA-00942: table or view does not exist”

SELECT SID, SERIAL# INTO vSID, vSERIAL FROM v$session WHERE SID =
(SELECT SID FROM v$mystat WHERE ROWNUM = 1);

Abraços,

Sharif



De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em
nome de Rodrigo Mufalani
Enviada em: 4 de fevereiro de 2010 12:21
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] Select dentro de uma trigger

 
Bom dia Sharif,

Normalmente quando você está usando PL/SQL você carrega o retorno do
select em uma variável. Ex.:

Set serverout on

declare
vSID varchar2(8);

begin

SELECT SID
into vSID
FROM
v$mystat
WHERE
ROWNUM = 1;

dbms_output.put_line('valor da minha variavel e: '||vSID);

end;
/

Isso é um exemplo de bloco anônimo, ajuste ai no seu trigger.

Atenciosamente,

Rodrigo Mufalani
DBA - OCP 10g & 11g +RAC
Oracle ACE Member
tel.: (21) 8851-4817
www.mrdba.com.br/mufalani/
mufal...@mrdba.com.br

Pessoal, dentro de uma trigger não está funcionando o select abaixo… porem
no sqlplus funciona normalmente. Devo dar alguma permissão à mais ?

SELECT SID FROM v$mystat WHERE ROWNUM = 1

Abraços,

Sharif










RES: [oracle_br] Select dentro de uma trigger

2010-02-04 Por tôpico Sharif - Yahoo
Olá Rodrigo… na verdade o select inteiro seria esse… e o erro que está dando
é “SQL: ORA-00942: table or view does not exist”

SELECT SID, SERIAL# INTO vSID, vSERIAL FROM v$session WHERE SID =
(SELECT SID FROM v$mystat WHERE ROWNUM = 1);

Abraços,

Sharif



De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em
nome de Rodrigo Mufalani
Enviada em: 4 de fevereiro de 2010 12:21
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] Select dentro de uma trigger

  
Bom dia Sharif,

Normalmente quando você está usando PL/SQL você carrega o retorno do
select em uma variável. Ex.:

Set serverout on

declare
vSID varchar2(8);

begin

SELECT SID
into vSID
FROM
v$mystat
WHERE
ROWNUM = 1;

dbms_output.put_line('valor da minha variavel e: '||vSID);

end;
/

Isso é um exemplo de bloco anônimo, ajuste ai no seu trigger.

Atenciosamente,

Rodrigo Mufalani
DBA - OCP 10g & 11g +RAC
Oracle ACE Member
tel.: (21) 8851-4817
www.mrdba.com.br/mufalani/
mufal...@mrdba.com.br

Pessoal, dentro de uma trigger não está funcionando o select abaixo… porem
no sqlplus funciona normalmente. Devo dar alguma permissão à mais ?

SELECT SID FROM v$mystat WHERE ROWNUM = 1

Abraços,

Sharif





RES: [oracle_br] SELECT VIEW COM PARAMETROS

2009-07-14 Por tôpico Sérgio Luiz Rodrigues Chaves
William,

 

Verifique os passos:

 

*   A criação de Context
*   Dbms_session.set_context

 

 

Veja em http://forums.oracle.com/forums/thread.jspa?threadID=638941 todos os 
passos.

Atenciosamente, Sérgio Chaves. 





 



De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em nome 
de William Cassiano de Gouveia
Enviada em: terça-feira, 14 de julho de 2009 15:23
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] SELECT VIEW COM PARAMETROS

 








Bom dia a todos, estou procurando algum documento ou não sobre se existe a 
possibilidade de em um select de uma view de passar um parâmetro para 
restringir o resultado.

Qualquer duvida por favor me retorne

William

[As partes desta mensagem que não continham texto foram removidas]





[As partes desta mensagem que não continham texto foram removidas]



Res: [oracle_br] SELECT que me retorne os registros a partir de palavras-chave informadas

2009-05-11 Por tôpico Hugo Zambotti
Carlos,
você fazer isso utilizando varias vezes o JOIN da mesma tabela, apenas 
alterando o apelido.


SELECT DISTINCT
NOME_ALUNO
FROM
TABELA TABELA_01
JOIN TABELA TABELA_02 ON TABELA_01.nome_aluno = TABELA_02.nome_aluno AND 
TABELA_02.palavra_chave = 'OTIMO'
JOIN TABELA TABELA_03 ON TABELA_01.nome_aluno = TABELA_03.nome_aluno AND 
TABELA_03.palavra_chave = 'BOM'
JOIN TABELA TABELA_04 ON TABELA_01.nome_aluno = TABELA_04.nome_aluno AND 
TABELA_04.palavra_chave = 'REGULAR'
JOIN TABELA TABELA_05 ON TABELA_01.nome_aluno = TABELA_05.nome_aluno AND 
TABELA_05.palavra_chave = 'RUIM'





De: Nino 
Para: oracle_br@yahoogrupos.com.br
Enviadas: Segunda-feira, 11 de Maio de 2009 9:27:25
Assunto: Re: [oracle_br] SELECT que me retorne os registros a partir de  
palavras-chave informadas





olha, eu to sem banco pra testar aqui, mas tenho quase certeza que o
INTERSECT serve pro que voce precisa.
algo do tipo

select nome_aluno
from  tabela
where palavra_chave = 'OTIMO'
INTERSECT
select nome_aluno
from  tabela
where palavra_chave = 'BOM'
INTERSECT
select nome_aluno
from  tabela
where palavra_chave = 'REGULAR'
INTERSECT
select nome_aluno
from  tabela
where palavra_chave = 'RUIM'

talvez vc tenha q montar um select dinamico aí na sua aplicação, de acordo
com as palavras chaves que receber...

fica a dica!

Nino

2009/5/11 José Mario Barduchi 

>
>
>
>
> Bom dia
>
> Não sei se é tão simples o que você precisa quanto o que eu
> entendi, mas tenta assim:
>
> select Nome_Aluno from tabela
> where
> Palavra_Chave in ('OTIMO', 'BOM', 'REGULAR','RUIM' )
>
> Abraço ...
> --
> Jose Mario Barduchi
> Supervisor de Banco de Dados
> Grupo Wheaton
> Brasil
> Telefone : (11) 4355-1207
> Site: http://www.wheatonb rasil.com. br
> E-Mail: jose.barduchi@ wheatonbrasil. com.br com.br>
>
> Em Dom, Maio 10, 2009 21:43, Carlos Geiser
> escreveu:
>
>
>
> Não deu Felipe,
> veio registros de outros
> alunos.
>
> Grato,
> Carlos Geiser.
>
> Em 10/5/2009
> 21:25, Felipe Renz escreveu:
> >
> >
> > Tenta isso:
>
> >
> > select Nome_Aluno from tabela where Palavra_Chave like
> ('OTIMO')
> > or Palavra_Chave like ('BOM') or Palavra_Chave like
> ('REGULAR') or
> > Palavra_Chave like ('RUIM')
> >
> > um
> abraço ...
> >
> > Felipe Renz
> >
> > Em 10/05/09,
> Carlos Geiser gei...@controlejuri dico.com. br uridico.com. br>
> >
> 40controlejuridico. com.br>> escreveu:
> > >
>
> > >
> > >
> > > Olá pessoal.
> > >
>
> > >
> Depois uma hora frustrada no Google pesquisando um determinado
> exemplo
> > > de Select resolvi vir ao agrupo pedir ajuda.
> >
> >
> > > Trata-se de um SELECT que me retorne os registros a partir
> de
> > > palavras-chave informadas para pesquisa onde retorne somente
> os
> > > registros que contenham coincidentemente todas essas
> palavras-chave.
> > >
> > > Por exemplo.
> > >
> > > Suponhamos que em uma View temos a seguinte estrutura:
> >
> >
> > > ID_Aluno
> > >
> > >
> > >
> > > Nome_Aluno
> > >
> > >
> > >
>
> > > Palavra_Chave
> > >
> > > 1
> > >
>
> > >
> > >
> > > PEDRO PAULO
> > >
> >
> >
> > >
> > > OTIMO
> > >
> > > 2
> > >
> > >
> > >
> > > MARCOS MOREIRA
> > >
> > >
> > >
> > > OTIMO
> >
> >
> > > 3
> > >
> > >
> > >
>
> > > JOÃO DA SILVA
> > >
> > >
> > >
>
> > > OTIMO
> > >
> > > 4
> > >
> >
> >
> > >
> > > JOSÉ SANTOS
> > >
> >
> >
> > >
> > > OTIMO
> > >
> > > 1
> > >
> > >
> > >
> > > PEDRO PAULO
>
> > >
> > >
> > >
> > > BOM
> > >
> > > 2
> > >
> > >
> > >
> > >
> MARCOS MOREIRA
> > >
> > >
> > >
> > >
> BOM
> > >
> > > 4
> > >
> > >
> >
> >
> > > JOSÉ SANTOS
> > >
> > >
> >
> >
> > > BOM
> > >
> > > 1
> > >
>
> > >
> > >
> > > PEDRO PAULO
> > >
> >
> >
> > >
> > > REGULAR
> > >
> > >
> 3
> > >
> > >
> > >
> > > JOÃO DA
> SILVA
> > >
> > >
> > >
> > > BOM
>
> > >
> > > 1
> > >
> > >
> > >
> > > PEDRO PAULO
> > >
> > >
> > >
>
> > > RUIM
> > >
> > > 4
> > >
> >
> >
> > >
> > > JOSÉ SANTOS
> > >
> >
> >
> > >
> > > PESSIMO
> > >
> > >
> 2
> > >
> > >
> > >
> > > MARCOS
> MOREIRA
> > >
> > >
> > >
> > >
> PESSIMO
> > >
> > > Então queremos uma consulta que retorne
> os registros (ou até mesmo o
> > > nome do aluno) em contenha e
> coincidem as seguintes palavras-chave:
> > > "OTIMO, BOM, REGULAR
> E RUIM"
> > >
> > > O resultado seria PEDRO PAULO, pois
> é o único Aluno que contem as
> > > quatros palavras solicitadas na
> pesquisa.
> > >
> > > A minha dúvida é como montar esse
> Select ?
> > >
> > > Grato
> > >
> > >
> Carlos Geiser.
> > >
> > > [As partes desta mensagem que não
> continham texto foram removidas]
> > >
> > >
> >
> >
> >
> > --
> > Atenciosamente,
> >
> >
> Felipe Renz
> > Cel.: 51 8505 4255
> > Msn: fjr...@gmail. com  40gmail.com>
> > Gtalk: fjr...@gmail. com 
> 40gmail.com>
> >
> > [As partes desta mensagem que não
> continham texto foram removidas]
> >
> >
>
> --
>
> Atenciosamente,
>
> GEISER& CIA LTDA - CNPJ/MF sob n.°
> 06.316.708/0001- 32
> Carlos Geiser - Diretor
> ConPro 2008
> (Controle de Processos) - Sistemas Jurídicos
> Rua Jerônimo Coelho, 184
> conjunto 7A, C

RES: [oracle_br] select urgente

2009-02-10 Por tôpico José Costacurta
No meu count vem 50 e no select 4.

 

È porque existem vários registros para a mesma tablespace.

 

De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em
nome de Anderson Ferreira
Enviada em: terça-feira, 10 de fevereiro de 2009 10:59
Para: oracle_br@yahoogrupos.com.br; gpora...@yahoogrupos.com.br;
usuarios_ora...@yahoogrupos.com.br
Assunto: [oracle_br] select urgente

 



senhores estou executando esse select so q esta trazendo apenas 11 rows so q
qndo do um count(*) conta 14

select tablespace_name, sum(bytes)/1024/1024 as Mega from dba_free_space
group by tablespace_name;

Atenciosamente,
Anderson Ferreira
Cel: +55 11 8876-7515 
E-mail: andfr2...@hotmail.com  
Or aferre...@mackenzista.com.br  





__
Cansado de espaço para só 50 fotos? Conheça o Spaces, o site de
relacionamentos com até 6,000 fotos!
http://www.amigosdomessenger.com.br

[As partes desta mensagem que não continham texto foram removidas]





[As partes desta mensagem que não continham texto foram removidas]



RES: [oracle_br] select muito lento.

2008-09-10 Por tôpico Rafael Almeida Milanez
Se o campo for tipo DATE , converte ele
 
 
where to_char(data,'dd/mm/') = to_char(sysdate,'dd/mm/')



De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Jean Carlo
Enviada em: quarta-feira, 10 de setembro de 2008 10:26
Para: Grupo Oracle
Assunto: [oracle_br] select muito lento.



Bom dia, pessoal.

Tenho um select da seguinte forma:
select * from tabela
where trunc(data) = trunc(sysdate);

onde tabela tem quase 6 milhões de registros, tenho um index no campo data, sei 
que usando o trunc é usado o mesmo não utiliza o index gostaria de saber se tem 
como melhorar a performece usando trunc.
Pois usando where data > sysdate-1 o mesmo me traz as ultimas 24hrs e só qro do 
dia corrente, e dessa forma sei que o index é utilizado.

Versão do meu BD: 9.2.0.5.0.

[As partes desta mensagem que não continham texto foram removidas]



 


[As partes desta mensagem que não continham texto foram removidas]



RES: [oracle_br] select muito lento.

2008-09-10 Por tôpico Omar Mário Moussa
Se você tem tantos registros e faz select por data (mais especificamente por 
dia), já pensou (se é que tem a possibilidade) em particionar a tabela?

Abraços,
Omar
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Jean Carlo
Enviada em: quarta-feira, 10 de setembro de 2008 10:26
Para: Grupo Oracle
Assunto: [oracle_br] select muito lento.


Bom dia, pessoal.

Tenho um select da seguinte forma:
select * from tabela
where trunc(data) = trunc(sysdate);

onde tabela tem quase 6 milhões de registros, tenho um index no campo data, sei 
que usando o trunc é usado o mesmo não utiliza o index gostaria de saber se tem 
como melhorar a performece usando trunc.
Pois usando where data > sysdate-1 o mesmo me traz as ultimas 24hrs e só qro do 
dia corrente, e dessa forma sei que o index é utilizado.

Versão do meu BD: 9.2.0.5.0.

[As partes desta mensagem que não continham texto foram removidas]



[As partes desta mensagem que não continham texto foram removidas]



RES: [oracle_br] Select

2008-08-22 Por tôpico Rafael Almeida Milanez
Veja bem, para verificar um "SELECT BEM FEITO" 
 
existe uma serie de fatores alem da simples sintaxe  do SQL,
 
é claro estou falando dos dados onde o banco irá fazer a busca
 
como tabelas , indices, estatisticas atualizadas , parametros do banco que 
influenciam o CBO etc...



De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Alessandro
Enviada em: sexta-feira, 22 de agosto de 2008 15:24
Para: Forum(Oracle)
Assunto: [oracle_br] Select



Boa tarde pessoa da lista

Gostaria de saber se existe alguma jeito p/ eu verificar se uma determinada 
select está bem feita, ou se existe uma melhor forma de fazer a mesma select
Utilizo o banco 10g r2.

Tenho várias select no meu sistema e queria verificar se tem como fazer a mesma 
select ser mais rápida.

Atenciosamente Alessandro.

[As partes desta mensagem que não continham texto foram removidas]



 


[As partes desta mensagem que não continham texto foram removidas]



RES: [oracle_br] select

2008-06-06 Por tôpico Paulo Trevisolli | Âncora Consultores
Brother,

 

Tenta colocar um alias antes do campo, e faz um teste.. blz?

 

 

Paulo Trevisolli   Enviar e-mail
Consultor - Desenvolvimento 
(16) 3335-6228 #ramal 34
Oracle Partner Network
  Âncora



 

 

De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Arystydes
Enviada em: quinta-feira, 5 de junho de 2008 16:27
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] select

 

Pessoal,
Executando um "select * from [EMAIL PROTECTED]" consigo trazer os dados
mas, se determinar o campo "select NOME from [EMAIL PROTECTED]" não traz os
dados.

O que pode ser ?

Grato,

[As partes desta mensagem que não continham texto foram removidas]

 



[As partes desta mensagem que não continham texto foram removidas]



RES: [oracle_br] Select paginado?

2008-02-25 Por tôpico Bruno Lorenzini
Você pode fazer isso aqui:

 

select t.*
from   ( select rownum idx, a.* from all_tables a) t
where  t.idx = <>

 

 

Brass,

 

  _  

De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Haroldo Gondim
Enviada em: domingo, 24 de fevereiro de 2008 22:43
Para: Grupo Oracle-BR
Assunto: [oracle_br] Select paginado?

 

Pessoal, em minha aplicacao quero exibir tabelas de forma paginada, tem como
eu fazer um select q retorne de acordo com o indice?

tipo, se eu passar 3, ele retorne da linha 31 a 40

-- 
Haroldo Gondim Torres Filho

[As partes desta mensagem que não continham texto foram removidas]

 



[As partes desta mensagem que não continham texto foram removidas]



Res: [oracle_br] Select paginado?

2008-02-25 Por tôpico Marcus Pavan
Desta forma que você está querendo, não.
O que você pode fazer é parametrizar a página (i.e. 10 registros) e com base 
neste valor você multiplique o índice desejado...
inicio = 3 x 10 - 1 = 31
final = 3 x 10 + 10 = 40
... com os valores de inicio e fim, agora você pegará a função ROW_NUMBER() 
OVER (ORDER BY ) e retorne sua página.

[]'s

Marcus Pavan.

- Mensagem original 
De: Haroldo Gondim <[EMAIL PROTECTED]>
Para: Grupo Oracle-BR 
Enviadas: Domingo, 24 de Fevereiro de 2008 21:42:46
Assunto: [oracle_br] Select paginado?

  Pessoal, em minha aplicacao quero exibir tabelas de forma 
paginada, tem como
eu fazer um select q retorne de acordo com o indice?

tipo, se eu passar 3, ele retorne da linha 31 a 40

-- 
Haroldo Gondim Torres Filho

[As partes desta mensagem que não continham texto foram removidas]



  











  Abra sua conta no Yahoo! Mail, o único sem limite de espaço para 
armazenamento!
http://br.mail.yahoo.com/

[As partes desta mensagem que não continham texto foram removidas]



RES: [oracle_br] Select usando datas *****Ajuda******

2008-02-18 Por tôpico Rafael Almeida Milanez
ops corrigindo se for maior ou igual a 12 ai deletar



De: Rafael Almeida Milanez 
Enviada em: segunda-feira, 18 de fevereiro de 2008 10:06
Para: 'oracle_br@yahoogrupos.com.br'
Assunto: RES: [oracle_br] Select usando datas *Ajuda**


Bom pelo que entendi seria
 
se a dt_inicio de um registro for 18-02-2007 comparado a data atual teria 1 ano 
de diferença entao deletaria o registro
 
voce pode usar a função months_between se for = 12 entao deletar
 
[EMAIL PROTECTED]> select 
trunc(months_between(sysdate,to_date('18/02/2007','dd/mm/'))) dif from dual;
 
   DIF
--
12



De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de gugueera
Enviada em: domingo, 17 de fevereiro de 2008 15:56
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Select usando datas *Ajuda**



Fala pessoal , sou novo no grupo tb
eu queria uma ajudinha.
preciso gerar uma consulta onde preciso colocar
uma restricao ( se o registro tiver menos de um ano
nao deleto, apenas os registros q tiverem mais 
de ano eu vou deletar), alguem poderia me dar uma ajudinha?
obs> na tabela existe um campo dt_inicio.

vlw galera!! ate



 


[As partes desta mensagem que não continham texto foram removidas]



RES: [oracle_br] Select usando datas *****Ajuda******

2008-02-18 Por tôpico Rafael Almeida Milanez
Bom pelo que entendi seria
 
se a dt_inicio de um registro for 18-02-2007 comparado a data atual teria 1 ano 
de diferença entao deletaria o registro
 
voce pode usar a função months_between se for = 12 entao deletar
 
[EMAIL PROTECTED]> select 
trunc(months_between(sysdate,to_date('18/02/2007','dd/mm/'))) dif from dual;
 
   DIF
--
12



De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de gugueera
Enviada em: domingo, 17 de fevereiro de 2008 15:56
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Select usando datas *Ajuda**



Fala pessoal , sou novo no grupo tb
eu queria uma ajudinha.
preciso gerar uma consulta onde preciso colocar
uma restricao ( se o registro tiver menos de um ano
nao deleto, apenas os registros q tiverem mais 
de ano eu vou deletar), alguem poderia me dar uma ajudinha?
obs> na tabela existe um campo dt_inicio.

vlw galera!! ate



 


[As partes desta mensagem que não continham texto foram removidas]



RES: [oracle_br] Select em schema

2007-10-18 Por tôpico Rodrigo Mufalani

Primeiro colete as estatísticas de seu schema 

Dbms_stats.gather_schema_stats(ownname=>'SEU_SCHEMA',cascade=>TRUE);

Depois 

  Select table_name,num_rows
  From user_tables
  Where num_rows > 0;
 


-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Eduardo de Paula
Enviada em: quinta-feira, 18 de outubro de 2007 09:03
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Select em schema

Senhores,

dado um esquema eu gostaria de um select que me retornasse todas as tabelas
que possuem pelo menos um ou mais registros.

Alguma idéia de onde começar?


Obrigado.


[As partes desta mensagem que não continham texto foram removidas]



>Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » Procedure
» Scripts » Tutoriais acesse:
http://www.oraclebr.com.br/codigo/ListaCodigo.php 

--
>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/ 

--
>O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
http://www.oraclebr.com.br/  

  
Links do Yahoo! Grupos

 





Re: RES: RES: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

2007-09-12 Por tôpico Andre Santos
Marcelo

O Chiappa já deu um esclarecimento.

O Anderson Rodrigo Farias relatou que o erro não ocorre com a versão do
10gR2 que ele utiliza, mas não mencionou o número completo do release. Seria
interessante saber.

[ ]

André


Em 12/09/07, jlchiappa <[EMAIL PROTECTED]> escreveu:
>
>   iirc na época em que o 10gr2 foi lançado (como 10.2.1.x) o patch mais
> recente pro 10gr1 era o 10.1.0.2 ou 10.1.0.3, aí obviamente não
> entraria Confimre essa info no metalink (escrevo de cabeça aqui),
> mas se me lembro é isso...
>
> []s
>
> Chiappa
>
> --- Em oracle_br@yahoogrupos.com.br ,
> "Marcelo" <[EMAIL PROTECTED]> escreveu
> >
> > André,
> >
> > Mas o 10r2 já não deveria abranger este Patch Set 
> > 10.1.0.4?<http://10.1.0.4/?>
> ??
> >
> > Marcelo Alberto Lauschner
> > Tecnologia e Sistemas
> > Auto Pratense Ltda
> > ( - Fone: (0XX54) 3242-3615
> > ( - Fax: (0XX54) 3242-3648
> > * - E-mail: [EMAIL PROTECTED]
> > þ - WWW: www.autopratense.com.br
> >
> > -Mensagem original-
> > De: oracle_br@yahoogrupos.com.br 
> [mailto:oracle_br@yahoogrupos.com.br ] Em
> > nome de Andre Santos
> > Enviada em: quarta-feira, 12 de setembro de 2007 11:48
> > Para: oracle_br@yahoogrupos.com.br 
> > Assunto: Re: RES: RES: [oracle_br] SELECT MAX() Convertendo CHAR em
> NUMBER
> >
> > Marcelo
> >
> > Parece que é bug mesmo. :^\
> > Achei uma discussão sobre isso e a resposta aceita no final
> foi: "This is a
> > bug get the 10.1.0.4 Patch Set to rectify the problem." (em: <
> > http://www.experts-exchange.com/Database/Oracle/Q_22154490.html>)
> >
> > Aqui também tenho a versão 10.2.0.1.0 e ocorre o mesmo erro.
> > OBS.: O erro ocorre sempre que a coluna for do tipo CHAR,
> independente se o
> > conteúdo com algarismos ou com com letras. Então acho que NÃO é
> relacionado
> > a conversão implícita de tipo numérico.
> > Com colunas do tipo VARCHAR o erro não ocorreu.
> >
> > [ ]
> >
> > André
> >
> >
> > Em 12/09/07, Marcelo <[EMAIL PROTECTED]> escreveu:
> > >
> > > André,
> > >
> > > Acredito que o problema seja realmente um Bug, pois já tentei de
> tudo e o
> > > erro persiste.
> > >
> > > Mesmo eu definindo o CURSOR_SHARING para EXACT, usando o SQLPLUS
> local no
> > > servidor, ainda tenha esta situação:
> > >
> > > Conectado a:
> > > Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 -
> Production
> > > With the Partitioning, OLAP and Data Mining options
> > >
> > > SQL> alter system set cursor_sharing = 'EXACT';
> > >
> > > Sistema alterado.
> > >
> > > SQL> DECLARE
> > > 2 CDATAMAX CHAR(8);
> > > 3 BEGIN
> > > 4 SELECT MAX(D3_EMISSAO)
> > > 5 INTO CDATAMAX
> > > 6 FROM SD3010
> > > 7 ;
> > > 8 END;
> > > 9 /
> > > DECLARE
> > > *
> > > ERRO na linha 1:
> > > ORA-06502: PL/SQL: erro: buffer de string de caracteres pequeno
> demais
> > > numérico
> > > ou de valor
> > > ORA-06512: em line 4
> > >
> > > SQL> SELECT DUMP(MAX(D3_EMISSAO))
> > > 2 FROM SD3010;
> > >
> > > DUMP(MAX(D3_EMISSAO))
> > > --
> > > 
> > > Typ=96 Len=8: 50,48,48,55,48,56,50,55
> > >
> > > SQL>
> > >
> > > Sendo assim, volto a lembrar um tópico que postei há um tempo
> atrás se
> > > alguém tivesse interesse em me disponibilizar os PATCH SET
> (atualmente uso
> > > Oracle 10.2.0.1.0 em Windows Server 2003 32 bits) , pois não
> tenho acesso
> > > ao
> > > METALINK, poderá me responder em PVT para possível negociação de
> valores
> > > para reembolso de custo de envio ou disponibilização.
> > >
> > > Atenciosamente,
> > >
> > > Marcelo Alberto Lauschner
> > > Tecnologia e Sistemas
> > > Auto Pratense Ltda
> > > ( - Fone: (0XX54) 3242-3615
> > > ( - Fax: (0XX54) 3242-3648
> > > * - E-mail: [EMAIL PROTECTED] 
> > > þ - WWW: www.autopratense.com.br
> > > -Mensagem original-
> > > De: oracle_br@yahoogrupos.com.br 
> > >  rupos.com.br>
> [mailto:
> > > oracle_br@yahoogrupos.com.br 
> > >  rupos.com.br>] Em
> > > nome de Andre Santos
> > > Enviada em: quarta-feira, 12 de setembro de 2007 09:58
&

Re: RES: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

2007-09-12 Por tôpico Andre Santos
Marcelo

Parece que é bug mesmo.  :^\
Achei uma discussão sobre isso e a resposta aceita no final foi: "This is a
bug get the 10.1.0.4 Patch Set to rectify the problem." (em: <
http://www.experts-exchange.com/Database/Oracle/Q_22154490.html>)

Aqui também tenho a versão 10.2.0.1.0 e ocorre o mesmo erro.
OBS.: O erro ocorre sempre que a coluna for do tipo CHAR, independente se o
conteúdo com algarismos ou com com letras. Então acho que NÃO é relacionado
a conversão implícita de tipo numérico.
Com colunas do tipo VARCHAR o erro não ocorreu.

[ ]

André


Em 12/09/07, Marcelo <[EMAIL PROTECTED]> escreveu:
>
>   André,
>
> Acredito que o problema seja realmente um Bug, pois já tentei de tudo e o
> erro persiste.
>
> Mesmo eu definindo o CURSOR_SHARING para EXACT, usando o SQLPLUS local no
> servidor, ainda tenha esta situação:
>
> Conectado a:
> Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
> With the Partitioning, OLAP and Data Mining options
>
> SQL> alter system set cursor_sharing = 'EXACT';
>
> Sistema alterado.
>
> SQL> DECLARE
> 2 CDATAMAX CHAR(8);
> 3 BEGIN
> 4 SELECT MAX(D3_EMISSAO)
> 5 INTO CDATAMAX
> 6 FROM SD3010
> 7 ;
> 8 END;
> 9 /
> DECLARE
> *
> ERRO na linha 1:
> ORA-06502: PL/SQL: erro: buffer de string de caracteres pequeno demais
> numérico
> ou de valor
> ORA-06512: em line 4
>
> SQL> SELECT DUMP(MAX(D3_EMISSAO))
> 2 FROM SD3010;
>
> DUMP(MAX(D3_EMISSAO))
> --
> 
> Typ=96 Len=8: 50,48,48,55,48,56,50,55
>
> SQL>
>
> Sendo assim, volto a lembrar um tópico que postei há um tempo atrás se
> alguém tivesse interesse em me disponibilizar os PATCH SET (atualmente uso
> Oracle 10.2.0.1.0 em Windows Server 2003 32 bits) , pois não tenho acesso
> ao
> METALINK, poderá me responder em PVT para possível negociação de valores
> para reembolso de custo de envio ou disponibilização.
>
> Atenciosamente,
>
> Marcelo Alberto Lauschner
> Tecnologia e Sistemas
> Auto Pratense Ltda
> ( - Fone: (0XX54) 3242-3615
> ( - Fax: (0XX54) 3242-3648
> * - E-mail: [EMAIL PROTECTED] 
> þ - WWW: www.autopratense.com.br
> -Mensagem original-----
> De: oracle_br@yahoogrupos.com.br  [mailto:
> oracle_br@yahoogrupos.com.br ] Em
> nome de Andre Santos
> Enviada em: quarta-feira, 12 de setembro de 2007 09:58
> Para: oracle_br@yahoogrupos.com.br 
> Assunto: Re: RES: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER
>
>
> Marcelo
>
> Lembrei de uma mensagem com um "sintoma" parecido (Tamanho dos campos nas
> querys entre 9i e 10g), na qual a origem do problema era a configuração do
> parâmetro CURSOR_SHARING.
>
> Procurei a mensagem...
> http://br.groups.yahoo.com/group/oracle_br/message/82703
> Vi que ocorreu com você mesmo, não foi?
> Talvez esse comportamento estranho da função MAX() também seja pela
> configuração do CURSOR_SHARING... Faça um teste, quem sabe.
>
> [ ]
>
> André
>
> Em 11/09/07, jlchiappa <[EMAIL PROTECTED] >
> escreveu:
> >
> > Marcelo, realmente se vc consultar a documentação é especificado SIM
> > que vc pode passar strings, números ou datas pras funções de agrupação
> > (MAX entre elas) e a função TEM que retornar o mesmo datatype de
> > entrada, então as msgs do pessoal aí que falaram sobre "max ser
> > específica pra number" não tem nada a ver, é ignorar Muito bem,
> > embora eu não tenha especificamente visto isso ainda (até mesmo porque
> > ** nunca ** usei 10gr1), há sim imho boa chance de ser bug mesmo,
> > hipótese que é ** reforçada ** em muito pelo fato de vc estar usando a
> > PRIMEIRO release da PRIMEIRA versão do 10g : é aquela água, por mais
> > que o pessoal da Oracle afirme o contrário, que é super-ultra testado,
> > nós técnicos de TI sabemos que DIFICILMENTE um software complexo como
> > é o bd Oracle sai sem erro algum já no primeiro release. O
> > procedimento que te aconselho, SEM DÚVIDA, é que vc abra um Chamado no
> > Suporte Oracle, e que CONFIRA com o Suporte do seu fornecedor de
> > aplicativo se há algum impedimento para up de release de banco E de
> > cliente Oracle, quais são as recomendações por parte dele Outras
> > dicas :
> >
> > a) para montar o caso-exemplo que vc vai enviar pro Suporte, **
> > ESQUEÇA ** que exits PL/SQL developer e use o sqlplus (sqlplus da **
> > MESMA ** versão que o banco, óbvio!), pois aí é MUITO mais garantida a
> > chance de reprodução do bug. Vale a pena também vc fazer um caso-teste
> > com sqlplus remoto, E outro com sqlplus local lá no servidor,
> > conectando localme

RES: RES: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

2007-09-12 Por tôpico Marcelo
André, 

Acredito que o problema seja realmente um Bug, pois já tentei de tudo e o
erro persiste.

Mesmo eu definindo o CURSOR_SHARING para EXACT, usando o SQLPLUS local no
servidor, ainda tenha esta situação:


Conectado a:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> alter system set cursor_sharing = 'EXACT';

Sistema alterado.

SQL> DECLARE
  2  CDATAMAX CHAR(8);
  3  BEGIN 
  4   SELECT MAX(D3_EMISSAO) 
  5 INTO CDATAMAX
  6 FROM SD3010
  7  ;
  8  END;
  9  /
DECLARE
*
ERRO na linha 1:
ORA-06502: PL/SQL: erro: buffer de string de caracteres pequeno demais
numérico
ou de valor
ORA-06512: em line 4




SQL> SELECT DUMP(MAX(D3_EMISSAO))
  2FROM SD3010;

DUMP(MAX(D3_EMISSAO))


Typ=96 Len=8: 50,48,48,55,48,56,50,55

SQL>



Sendo assim, volto a lembrar um tópico que postei há um tempo atrás se
alguém tivesse interesse em me disponibilizar os PATCH SET (atualmente uso
Oracle 10.2.0.1.0 em Windows Server 2003 32 bits) , pois não tenho acesso ao
METALINK, poderá me responder em PVT para possível negociação de valores
para reembolso de custo de envio ou disponibilização.

Atenciosamente,


Marcelo Alberto Lauschner 
Tecnologia e Sistemas
Auto Pratense Ltda 
( - Fone: (0XX54) 3242-3615
( - Fax: (0XX54) 3242-3648
* - E-mail: [EMAIL PROTECTED]
þ - WWW: www.autopratense.com.br
-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Andre Santos
Enviada em: quarta-feira, 12 de setembro de 2007 09:58
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: RES: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

Marcelo

Lembrei de uma mensagem com um "sintoma" parecido (Tamanho dos campos nas
querys entre 9i e 10g), na qual a origem do problema era a configuração do
parâmetro CURSOR_SHARING.

Procurei a mensagem...
http://br.groups.yahoo.com/group/oracle_br/message/82703
Vi que ocorreu com você mesmo, não foi?
Talvez esse comportamento estranho da função MAX() também seja pela
configuração do CURSOR_SHARING... Faça um teste, quem sabe.

[ ]

André


Em 11/09/07, jlchiappa <[EMAIL PROTECTED]> escreveu:
>
>   Marcelo, realmente se vc consultar a documentação é especificado SIM
> que vc pode passar strings, números ou datas pras funções de agrupação
> (MAX entre elas) e a função TEM que retornar o mesmo datatype de
> entrada, então as msgs do pessoal aí que falaram sobre "max ser
> específica pra number" não tem nada a ver, é ignorar Muito bem,
> embora eu não tenha especificamente visto isso ainda (até mesmo porque
> ** nunca ** usei 10gr1), há sim imho boa chance de ser bug mesmo,
> hipótese que é ** reforçada ** em muito pelo fato de vc estar usando a
> PRIMEIRO release da PRIMEIRA versão do 10g : é aquela água, por mais
> que o pessoal da Oracle afirme o contrário, que é super-ultra testado,
> nós técnicos de TI sabemos que DIFICILMENTE um software complexo como
> é o bd Oracle sai sem erro algum já no primeiro release. O
> procedimento que te aconselho, SEM DÚVIDA, é que vc abra um Chamado no
> Suporte Oracle, e que CONFIRA com o Suporte do seu fornecedor de
> aplicativo se há algum impedimento para up de release de banco E de
> cliente Oracle, quais são as recomendações por parte dele Outras
> dicas :
>
> a) para montar o caso-exemplo que vc vai enviar pro Suporte, **
> ESQUEÇA ** que exits PL/SQL developer e use o sqlplus (sqlplus da **
> MESMA ** versão que o banco, óbvio!), pois aí é MUITO mais garantida a
> chance de reprodução do bug. Vale a pena também vc fazer um caso-teste
> com sqlplus remoto, E outro com sqlplus local lá no servidor,
> conectando localmente (ie, SEM o @hoststring)
>
> b) recomendo também que vc faça um ** TRACE ** COMPLETO (LEVEL 12,
> INCLUINDO BINDS PORTANTO) dos casos acima para comprovar ** REALMENTE
> ** que é a função que está retornando um datatype diferente da entrada
> (nos arqs de trace as entradas DTY= contém o datatype dos binds.
>
> []s
>
> Chiappa
>
> --- Em oracle_br@yahoogrupos.com.br ,
> "Marcelo" <[EMAIL PROTECTED]> escreveu
> >
> >
> > Eu uso o Pl/Sql Developer
> >
> > Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
> > Connected as SIGA
> >
> >
> > SQL>
> > SQL> declare
> > 2 dDataMax char(8);
> > 3 begin
> > 4
> > 5 SELECT MAX(d3_EMISSAO) – Este campo é tipo CHAR(8)
> > 6 INTO dDatamax
> > 7 FROM Sd3010;
> > 8 end;
> > 9
> > 10 /
> >
> > ORA-06502: PL/SQL: erro: buffer de string de caracteres pequeno demais
> > numérico ou de valor
> > ORA-06512: em line 5
> >
> > SQL> declare
> >

Re: RES: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

2007-09-12 Por tôpico Andre Santos
Marcelo

Lembrei de uma mensagem com um "sintoma" parecido (Tamanho dos campos nas
querys entre 9i e 10g), na qual a origem do problema era a configuração do
parâmetro CURSOR_SHARING.

Procurei a mensagem...
http://br.groups.yahoo.com/group/oracle_br/message/82703
Vi que ocorreu com você mesmo, não foi?
Talvez esse comportamento estranho da função MAX() também seja pela
configuração do CURSOR_SHARING... Faça um teste, quem sabe.

[ ]

André


Em 11/09/07, jlchiappa <[EMAIL PROTECTED]> escreveu:
>
>   Marcelo, realmente se vc consultar a documentação é especificado SIM
> que vc pode passar strings, números ou datas pras funções de agrupação
> (MAX entre elas) e a função TEM que retornar o mesmo datatype de
> entrada, então as msgs do pessoal aí que falaram sobre "max ser
> específica pra number" não tem nada a ver, é ignorar Muito bem,
> embora eu não tenha especificamente visto isso ainda (até mesmo porque
> ** nunca ** usei 10gr1), há sim imho boa chance de ser bug mesmo,
> hipótese que é ** reforçada ** em muito pelo fato de vc estar usando a
> PRIMEIRO release da PRIMEIRA versão do 10g : é aquela água, por mais
> que o pessoal da Oracle afirme o contrário, que é super-ultra testado,
> nós técnicos de TI sabemos que DIFICILMENTE um software complexo como
> é o bd Oracle sai sem erro algum já no primeiro release. O
> procedimento que te aconselho, SEM DÚVIDA, é que vc abra um Chamado no
> Suporte Oracle, e que CONFIRA com o Suporte do seu fornecedor de
> aplicativo se há algum impedimento para up de release de banco E de
> cliente Oracle, quais são as recomendações por parte dele Outras
> dicas :
>
> a) para montar o caso-exemplo que vc vai enviar pro Suporte, **
> ESQUEÇA ** que exits PL/SQL developer e use o sqlplus (sqlplus da **
> MESMA ** versão que o banco, óbvio!), pois aí é MUITO mais garantida a
> chance de reprodução do bug. Vale a pena também vc fazer um caso-teste
> com sqlplus remoto, E outro com sqlplus local lá no servidor,
> conectando localmente (ie, SEM o @hoststring)
>
> b) recomendo também que vc faça um ** TRACE ** COMPLETO (LEVEL 12,
> INCLUINDO BINDS PORTANTO) dos casos acima para comprovar ** REALMENTE
> ** que é a função que está retornando um datatype diferente da entrada
> (nos arqs de trace as entradas DTY= contém o datatype dos binds.
>
> []s
>
> Chiappa
>
> --- Em oracle_br@yahoogrupos.com.br ,
> "Marcelo" <[EMAIL PROTECTED]> escreveu
> >
> >
> > Eu uso o Pl/Sql Developer
> >
> > Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
> > Connected as SIGA
> >
> >
> > SQL>
> > SQL> declare
> > 2 dDataMax char(8);
> > 3 begin
> > 4
> > 5 SELECT MAX(d3_EMISSAO) – Este campo é tipo CHAR(8)
> > 6 INTO dDatamax
> > 7 FROM Sd3010;
> > 8 end;
> > 9
> > 10 /
> >
> > ORA-06502: PL/SQL: erro: buffer de string de caracteres pequeno demais
> > numérico ou de valor
> > ORA-06512: em line 5
> >
> > SQL> declare
> > 2 dDataMax number; -- Veja que declaro a variável como numérica!!!
> > 3 begin
> > 4 SELECT MAX(D3_EMISSAO)
> > 5 INTO dDataMax
> > 6 FROM SD3010;
> > 7 END;
> > 8 /
> >
> > PL/SQL procedure successfully completed
> >
> >
> > Duvido que não seja problema no Banco!
> >
> > Alguém tem idéia do que pode ser?
> > Eu sei que a função MAX é de agregação para calculo de números,
> porém também
> > serve para TEXTO e portanto deveria retornar TEXTO
> >
> >
> > At.
> >
> >
> >
> > Marcelo Alberto Lauschner
> > Tecnologia e Sistemas
> > Auto Pratense Ltda
> > * - Fone: (0XX54) 3242-3615
> > * - Fax: (0XX54) 3242-3648
> > * - E-mail: mailto:[EMAIL PROTECTED]>
> > [EMAIL PROTECTED]
> > * - WWW: www.autopratense.com.br
> http://www.autopratense.com.br/>
> > _
> >
> > De: oracle_br@yahoogrupos.com.br 
> [mailto:oracle_br@yahoogrupos.com.br ] Em
> > nome de Anderson
> > Enviada em: terça-feira, 11 de setembro de 2007 17:58
> > Para: oracle_br@yahoogrupos.com.br 
> > Assunto: Re: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER
> >
> > Não sei o que pode estar ocorrendo com você, mas eu tenho a versão
> > 10gR2 e não ocorre o 'problema'.
> >
> > Valores numéricos em campo VARCHAR2(8).
> >
> > Ao usar a mesma expressão que você menciona no seu exemplo, o retorno
> > é caracter (alinhado à esquerda).
> >
> > Será que não há mais nenhuma particularidade por ai?
> >
> > Você está usando isso direto em SQL ou está embutido em alguma
&

Re: RES: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

2007-09-11 Por tôpico jlchiappa
Marcelo, realmente se vc consultar a documentação é especificado SIM
que vc pode passar strings, números ou datas pras funções de agrupação
(MAX entre elas) e a função TEM que retornar o mesmo datatype de
entrada, então as msgs do pessoal aí que falaram sobre "max ser
específica pra number" não tem nada a ver, é ignorar Muito bem,
embora eu não tenha especificamente visto isso ainda (até mesmo porque
** nunca ** usei 10gr1), há sim imho boa chance de ser bug mesmo,
hipótese que é ** reforçada ** em muito pelo fato de vc estar usando a
PRIMEIRO release da PRIMEIRA versão do 10g : é aquela água, por mais
que o pessoal da Oracle afirme o contrário, que é super-ultra testado,
nós técnicos de TI sabemos que DIFICILMENTE um software complexo como
é o bd Oracle sai sem erro algum já no primeiro release. O
procedimento que te aconselho, SEM DÚVIDA, é que vc abra um Chamado no
Suporte Oracle, e que CONFIRA com o Suporte do seu fornecedor de
aplicativo se há algum impedimento para up de release de banco E de
cliente Oracle, quais são as recomendações por parte dele Outras
dicas  : 

 a) para montar o caso-exemplo que vc vai enviar pro Suporte, **
ESQUEÇA ** que exits PL/SQL developer e use o sqlplus (sqlplus da **
MESMA ** versão que o banco, óbvio!), pois aí é MUITO mais garantida a
chance de reprodução do bug. Vale a pena também vc fazer um caso-teste
com sqlplus remoto, E outro com sqlplus local lá no servidor,
conectando localmente (ie, SEM o @hoststring)
 
 b) recomendo também que vc faça um ** TRACE ** COMPLETO (LEVEL 12,
INCLUINDO BINDS PORTANTO) dos casos acima para comprovar ** REALMENTE
** que é a função que está retornando um datatype diferente da entrada
(nos arqs de trace as entradas DTY= contém o datatype dos binds.
 
 []s
 
   Chiappa
   
--- Em oracle_br@yahoogrupos.com.br, "Marcelo" <[EMAIL PROTECTED]> escreveu
>
>  
> Eu uso o Pl/Sql Developer 
>  
> Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
> Connected as SIGA
>  
>  
> SQL> 
> SQL> declare
>   2  dDataMax char(8);
>   3  begin
>   4  
>   5  SELECT MAX(d3_EMISSAO) – Este campo é tipo CHAR(8)
>   6INTO dDatamax
>   7FROM Sd3010;
>   8  end;
>   9  
>  10  /
>  
> ORA-06502: PL/SQL: erro: buffer de string de caracteres pequeno demais
> numérico ou de valor
> ORA-06512: em line 5
>  
> SQL> declare 
>   2  dDataMax number; -- Veja que declaro a variável como numérica!!!
>   3  begin
>   4  SELECT MAX(D3_EMISSAO)
>   5INTO dDataMax
>   6FROM SD3010;
>   7  END;
>   8  /
>  
> PL/SQL procedure successfully completed
>  
>  
> Duvido que não seja problema no Banco!
>  
> Alguém tem idéia do que pode ser?
> Eu sei que a função MAX é de agregação para calculo de números,
porém também
> serve para TEXTO e portanto deveria retornar TEXTO
>  
>  
> At.
>  
>  
>  
> Marcelo Alberto Lauschner 
> Tecnologia e Sistemas
> Auto Pratense Ltda 
> * - Fone: (0XX54) 3242-3615
> * - Fax: (0XX54) 3242-3648
> * - E-mail:  mailto:[EMAIL PROTECTED]>
> [EMAIL PROTECTED]
> * - WWW: www.autopratense.com.br
http://www.autopratense.com.br/> 
>   _  
> 
> De: oracle_br@yahoogrupos.com.br
[mailto:[EMAIL PROTECTED] Em
> nome de Anderson
> Enviada em: terça-feira, 11 de setembro de 2007 17:58
> Para: oracle_br@yahoogrupos.com.br
> Assunto: Re: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER
>  
> Não sei o que pode estar ocorrendo com você, mas eu tenho a versão
> 10gR2 e não ocorre o 'problema'.
> 
> Valores numéricos em campo VARCHAR2(8).
> 
> Ao usar a mesma expressão que você menciona no seu exemplo, o retorno
> é caracter (alinhado à esquerda).
> 
> Será que não há mais nenhuma particularidade por ai?
> 
> Você está usando isso direto em SQL ou está embutido em alguma
> linguagem de programação?
> 
> Se você fizer o select sem o 'into', o resultado é exibido alinhado à
> esquerda ou direita?
> 
> Faça isso pelo SQL*Plus ou SQL Developer (não sei o que você usa).
> 
> Se estiver alinhado à esquerda, o 'problema' não é com a versão do
banco.
> 
> Anderson Rodrigo farias
> 
> --- Em [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
> os.com.br, "Marcelo"  escreveu
> >
> > Agradeço o retorno Bruno, mas continuo indignado, inconformado de
que o
> > Oracle 10.2 me transforme o retorno MAX() em NUMBER
> apenas por
> > que todos os caracteres são números, enquanto no 9i isto não ocorria.
> > Desta maneira o Oracle cai um pouco no meu conceito. 
> > Peço a ajuda dos outros colegas do fórum se conhecem alguma coisa a
> respeito
> > e que possam me ajudar.
> > A única coisa que achei no Google foi um tóp

RES: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

2007-09-11 Por tôpico Marcelo
 
Eu uso o Pl/Sql Developer 
 
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
Connected as SIGA
 
 
SQL> 
SQL> declare
  2  dDataMax char(8);
  3  begin
  4  
  5  SELECT MAX(d3_EMISSAO) – Este campo é tipo CHAR(8)
  6INTO dDatamax
  7FROM Sd3010;
  8  end;
  9  
 10  /
 
ORA-06502: PL/SQL: erro: buffer de string de caracteres pequeno demais
numérico ou de valor
ORA-06512: em line 5
 
SQL> declare 
  2  dDataMax number; -- Veja que declaro a variável como numérica!!!
  3  begin
  4  SELECT MAX(D3_EMISSAO)
  5INTO dDataMax
  6FROM SD3010;
  7  END;
  8  /
 
PL/SQL procedure successfully completed
 
 
Duvido que não seja problema no Banco!
 
Alguém tem idéia do que pode ser?
Eu sei que a função MAX é de agregação para calculo de números, porém também
serve para TEXTO e portanto deveria retornar TEXTO
 
 
At.
 
 
 
Marcelo Alberto Lauschner 
Tecnologia e Sistemas
Auto Pratense Ltda 
* - Fone: (0XX54) 3242-3615
* - Fax: (0XX54) 3242-3648
* - E-mail:  mailto:[EMAIL PROTECTED]>
[EMAIL PROTECTED]
* - WWW: www.autopratense.com.br http://www.autopratense.com.br/> 
  _  

De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Anderson
Enviada em: terça-feira, 11 de setembro de 2007 17:58
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER
 
Não sei o que pode estar ocorrendo com você, mas eu tenho a versão
10gR2 e não ocorre o 'problema'.

Valores numéricos em campo VARCHAR2(8).

Ao usar a mesma expressão que você menciona no seu exemplo, o retorno
é caracter (alinhado à esquerda).

Será que não há mais nenhuma particularidade por ai?

Você está usando isso direto em SQL ou está embutido em alguma
linguagem de programação?

Se você fizer o select sem o 'into', o resultado é exibido alinhado à
esquerda ou direita?

Faça isso pelo SQL*Plus ou SQL Developer (não sei o que você usa).

Se estiver alinhado à esquerda, o 'problema' não é com a versão do banco.

Anderson Rodrigo farias

--- Em [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
os.com.br, "Marcelo" <[EMAIL PROTECTED]> escreveu
>
> Agradeço o retorno Bruno, mas continuo indignado, inconformado de que o
> Oracle 10.2 me transforme o retorno MAX() em NUMBER
apenas por
> que todos os caracteres são números, enquanto no 9i isto não ocorria.
> Desta maneira o Oracle cai um pouco no meu conceito. 
> Peço a ajuda dos outros colegas do fórum se conhecem alguma coisa a
respeito
> e que possam me ajudar.
> A única coisa que achei no Google foi um tópico no site Orafaq.com
no tópico
> http://www.orafaq.
<http://www.orafaq.com/forum/m/266808/112285/#msg_266808>
com/forum/m/266808/112285/#msg_266808
> Mas que acabou ficando sem resposta também. Talvez alguém mais tenha
passado
> por esta situação e saiba uma dica de como resolver isto SEM TER QUE
MEXER
> EM TODAS AS PROCEDURES!!!, pois a aplicação é de terceiros. As que
eu crio
> aqui eu já corrige faz tempo.
> 
> 
> At.
> 
> 
> 
> Marcelo Alberto Lauschner 
> Tecnologia e Sistemas
> Auto Pratense Ltda 
> * - Fone: (0XX54) 3242-3615
> * - Fax: (0XX54) 3242-3648
> * - E-mail: mailto:[EMAIL PROTECTED]>
> [EMAIL PROTECTED]
> * - WWW: www.autopratense.com.br
http://www.autoprat <http://www.autopratense.com.br/>
ense.com.br/> 
> _ 
> 
> De: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br
[mailto:[EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
os.com.br] Em
> nome de Bruno Lorenzini
> Enviada em: terça-feira, 11 de setembro de 2007 12:00
> Para: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
os.com.br
> Assunto: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER
> 
> Desconheço algum parâmetro pra isso, talvez até exista mas eu sou
jr. em adm
> de banco. Não sei se você tem muitos programas que trabalham dessa
forma,
> mas aconselharia você a muda-los para a forma que passei, afinal de
contas,
> pela lógica, apesar de funcionar para campos char, o MAX é uma função
> numérica e teoricamente seu retorno deveria ser esse mesmo se possível.
> 
> Se ficar sabendo de algo aviso.
> 
> Abs,
> 
> _ 
> 
> De: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
os.com.br
> [mailto:[EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
> os.com.br] Em
> nome de Marcelo
> Enviada em: terça-feira, 11 de setembro de 2007 10:47
> Para: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
os.com.br
> Assunto: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER
> 
> Bruno,
> 
> Não sei se você leu atentamente meu e-mail.
> No 9i está consulta SELECT MAX() INTO cDataMax(CHAR(8)) 
> Funcionava corretamente sem nenhum problema.
> O que estou tentando e

Re: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

2007-09-11 Por tôpico Anderson
Não sei o que pode estar ocorrendo com você, mas eu tenho a versão
10gR2 e não ocorre o 'problema'.

Valores numéricos em campo VARCHAR2(8).

Ao usar a mesma expressão que você menciona no seu exemplo, o retorno
é caracter (alinhado à esquerda).

Será que não há mais nenhuma particularidade por ai?

Você está usando isso direto em SQL ou está embutido em alguma
linguagem de programação?

Se você fizer o select sem o 'into', o resultado é exibido alinhado à
esquerda ou direita?

Faça isso pelo SQL*Plus ou SQL Developer (não sei o que você usa).

Se estiver alinhado à esquerda, o 'problema' não é com a versão do banco.


Anderson Rodrigo farias


--- Em oracle_br@yahoogrupos.com.br, "Marcelo" <[EMAIL PROTECTED]> escreveu
>
> Agradeço o retorno Bruno, mas continuo indignado, inconformado de que o
> Oracle 10.2 me transforme o retorno MAX() em NUMBER
apenas por
> que todos os caracteres são números, enquanto no 9i isto não ocorria.
> Desta maneira o Oracle cai um pouco no meu conceito. 
> Peço a ajuda dos outros colegas do fórum se conhecem alguma coisa a
respeito
> e que possam me ajudar.
> A única coisa que achei no Google foi um tópico no site Orafaq.com
no tópico
> http://www.orafaq.com/forum/m/266808/112285/#msg_266808
> Mas que acabou ficando sem resposta também. Talvez alguém mais tenha
passado
> por esta situação e saiba uma dica de como resolver isto SEM TER QUE
MEXER
> EM TODAS AS PROCEDURES!!!, pois a aplicação é de terceiros. As que
eu crio
> aqui eu já corrige faz tempo.
>  
>  
> At.
>  
>  
>  
> Marcelo Alberto Lauschner 
> Tecnologia e Sistemas
> Auto Pratense Ltda 
> * - Fone: (0XX54) 3242-3615
> * - Fax: (0XX54) 3242-3648
> * - E-mail:  mailto:[EMAIL PROTECTED]>
> [EMAIL PROTECTED]
> * - WWW: www.autopratense.com.br
http://www.autopratense.com.br/> 
>   _  
> 
> De: oracle_br@yahoogrupos.com.br
[mailto:[EMAIL PROTECTED] Em
> nome de Bruno Lorenzini
> Enviada em: terça-feira, 11 de setembro de 2007 12:00
> Para: oracle_br@yahoogrupos.com.br
> Assunto: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER
>  
> Desconheço algum parâmetro pra isso, talvez até exista mas eu sou
jr. em adm
> de banco. Não sei se você tem muitos programas que trabalham dessa
forma,
> mas aconselharia você a muda-los para a forma que passei, afinal de
contas,
> pela lógica, apesar de funcionar para campos char, o MAX é uma função
> numérica e teoricamente seu retorno deveria ser esse mesmo se possível.
> 
> Se ficar sabendo de algo aviso.
> 
> Abs,
> 
> _ 
> 
> De: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
os.com.br
> [mailto:[EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
> os.com.br] Em
> nome de Marcelo
> Enviada em: terça-feira, 11 de setembro de 2007 10:47
> Para: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
os.com.br
> Assunto: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER
> 
> Bruno,
> 
> Não sei se você leu atentamente meu e-mail.
> No 9i está consulta SELECT MAX() INTO cDataMax(CHAR(8)) 
> Funcionava corretamente sem nenhum problema.
> O que estou tentando evitar é justamente manipular todas as
procedures da
> aplicação Microsiga fazendo esta correção manualmente, pois eu já
fiz testes
> em que se eu uso uma função de String tal como
TRIM(MAX()) ou
> TO_CHAR(MAX()) o valor retornado é uma string de 8
caracteres.
> Porém fico indagado por que no 10g é feita uma conversão para NUMBER
de um
> Campo CHAR(8), só porque todos os caracteres são números?
> 
> Entendeu meu colega??
> 
> Atenciosamente,
> 
> Marcelo Alberto Lauschner 
> Tecnologia e Sistemas
> Auto Pratense Ltda 
> * - Fone: (0XX54) 3242-3615
> * - Fax: (0XX54) 3242-3648
> * - E-mail: mailto:[EMAIL PROTECTED]
> <mailto:marcelo%40autopratense.com.br> e.com.br>
> [EMAIL PROTECTED] <mailto:marcelo%40autopratense.com.br> e.com.br
> * - WWW: www.autopratense.com.br http://www.autoprat
> <http://www.autoprat <http://www.autopratense.com.br/> ense.com.br/>
> ense.com.br/> 
> _____ 
> 
> De: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
os.com.br
> [mailto:[EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
> os.com.br] Em
> nome de Bruno Lorenzini
> Enviada em: terça-feira, 11 de setembro de 2007 10:24
> Para: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
os.com.br
> Assunto: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER
> 
> SELECT TO_CHAR( MAX( TO_DATE( , `MMDD' ) ) ) INTO
cDataMax
> FROM …
> 
> TO_DATE – vai fazer transformar o valor em data e vai te trazer a
maior data
> corretamente. Do jeito que estava não estava 100% correto, não sei t

RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

2007-09-11 Por tôpico Marcelo
Agradeço o retorno Bruno, mas continuo indignado, inconformado de que o
Oracle 10.2 me transforme o retorno MAX() em NUMBER apenas por
que todos os caracteres são números, enquanto no 9i isto não ocorria.
Desta maneira o Oracle cai um pouco no meu conceito. 
Peço a ajuda dos outros colegas do fórum se conhecem alguma coisa a respeito
e que possam me ajudar.
A única coisa que achei no Google foi um tópico no site Orafaq.com no tópico
http://www.orafaq.com/forum/m/266808/112285/#msg_266808
Mas que acabou ficando sem resposta também. Talvez alguém mais tenha passado
por esta situação e saiba uma dica de como resolver isto SEM TER QUE MEXER
EM TODAS AS PROCEDURES!!!, pois a aplicação é de terceiros. As que eu crio
aqui eu já corrige faz tempo.
 
 
At.
 
 
 
Marcelo Alberto Lauschner 
Tecnologia e Sistemas
Auto Pratense Ltda 
* - Fone: (0XX54) 3242-3615
* - Fax: (0XX54) 3242-3648
* - E-mail:  mailto:[EMAIL PROTECTED]>
[EMAIL PROTECTED]
* - WWW: www.autopratense.com.br http://www.autopratense.com.br/> 
  _  

De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Bruno Lorenzini
Enviada em: terça-feira, 11 de setembro de 2007 12:00
Para: oracle_br@yahoogrupos.com.br
Assunto: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER
 
Desconheço algum parâmetro pra isso, talvez até exista mas eu sou jr. em adm
de banco. Não sei se você tem muitos programas que trabalham dessa forma,
mas aconselharia você a muda-los para a forma que passei, afinal de contas,
pela lógica, apesar de funcionar para campos char, o MAX é uma função
numérica e teoricamente seu retorno deveria ser esse mesmo se possível.

Se ficar sabendo de algo aviso.

Abs,

_ 

De: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br
[mailto:[EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
os.com.br] Em
nome de Marcelo
Enviada em: terça-feira, 11 de setembro de 2007 10:47
Para: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br
Assunto: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

Bruno,

Não sei se você leu atentamente meu e-mail.
No 9i está consulta SELECT MAX() INTO cDataMax(CHAR(8)) 
Funcionava corretamente sem nenhum problema.
O que estou tentando evitar é justamente manipular todas as procedures da
aplicação Microsiga fazendo esta correção manualmente, pois eu já fiz testes
em que se eu uso uma função de String tal como TRIM(MAX()) ou
TO_CHAR(MAX()) o valor retornado é uma string de 8 caracteres.
Porém fico indagado por que no 10g é feita uma conversão para NUMBER de um
Campo CHAR(8), só porque todos os caracteres são números?

Entendeu meu colega??

Atenciosamente,

Marcelo Alberto Lauschner 
Tecnologia e Sistemas
Auto Pratense Ltda 
* - Fone: (0XX54) 3242-3615
* - Fax: (0XX54) 3242-3648
* - E-mail: mailto:[EMAIL PROTECTED]
<mailto:marcelo%40autopratense.com.br> e.com.br>
[EMAIL PROTECTED] <mailto:marcelo%40autopratense.com.br> e.com.br
* - WWW: www.autopratense.com.br http://www.autoprat
<http://www.autoprat <http://www.autopratense.com.br/> ense.com.br/>
ense.com.br/> 
_ 

De: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br
[mailto:[EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
os.com.br] Em
nome de Bruno Lorenzini
Enviada em: terça-feira, 11 de setembro de 2007 10:24
Para: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br
Assunto: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

SELECT TO_CHAR( MAX( TO_DATE( , ‘MMDD’ ) ) ) INTO cDataMax
FROM …

TO_DATE – vai fazer transformar o valor em data e vai te trazer a maior data
corretamente. Do jeito que estava não estava 100% correto, não sei tem
alguma data que poderia retornar algum valor errado, mas é sempre bom nesses
casos utilizar o tipo certo pra varíavel certa, ou seja, se está trabalhando
com data, use data, se está trabalhando com char, use char, e assim por
diante, evitando as tão famosas POG’s do dia-a-dia.

TO_CHAR – vai transformar o resultado do MAX() em CHAR pra que você possa
jogar em sua variável novamente.

Faça o teste e veja se funciona. Qlquer coisa é só avisar.

Abs,

_ 

De: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br
[mailto:[EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
os.com.br] Em
nome de Marcelo Alberto Lauschner
Enviada em: terça-feira, 11 de setembro de 2007 10:04
Para: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br
Assunto: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

Bom dia,

Tenho a seguinte situação:

Inúmeras procedures fazem uso do SELECT MAX() em campos CHAR(8), onde 
está armazenada uma String MMDD, ou seja data formato serial, 
para obter a última data de vários eventos numa aplicação Microsiga.
No 9i o SELECT MAX() INTO cDataMax(CHAR(8)) retornava 
exatamente CHAR(8).
Porém agora com o 10.2.0.1 está ocorrendo que está retornando NUMBER
() e assim está me d

RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

2007-09-11 Por tôpico Bruno Lorenzini
Desconheço algum parâmetro pra isso, talvez até exista mas eu sou jr. em adm
de banco. Não sei se você tem muitos programas que trabalham dessa forma,
mas aconselharia você a muda-los para a forma que passei, afinal de contas,
pela lógica, apesar de funcionar para campos char, o MAX é uma função
numérica e teoricamente seu retorno deveria ser esse mesmo se possível.

 

Se ficar sabendo de algo aviso.

 

Abs,

  _  

De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Marcelo
Enviada em: terça-feira, 11 de setembro de 2007 10:47
Para: oracle_br@yahoogrupos.com.br
Assunto: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

 

Bruno,

Não sei se você leu atentamente meu e-mail.
No 9i está consulta SELECT MAX() INTO cDataMax(CHAR(8)) 
Funcionava corretamente sem nenhum problema.
O que estou tentando evitar é justamente manipular todas as procedures da
aplicação Microsiga fazendo esta correção manualmente, pois eu já fiz testes
em que se eu uso uma função de String tal como TRIM(MAX()) ou
TO_CHAR(MAX()) o valor retornado é uma string de 8 caracteres.
Porém fico indagado por que no 10g é feita uma conversão para NUMBER de um
Campo CHAR(8), só porque todos os caracteres são números?

Entendeu meu colega??

Atenciosamente,

Marcelo Alberto Lauschner 
Tecnologia e Sistemas
Auto Pratense Ltda 
* - Fone: (0XX54) 3242-3615
* - Fax: (0XX54) 3242-3648
* - E-mail: mailto:[EMAIL PROTECTED]
<mailto:marcelo%40autopratense.com.br> e.com.br>
[EMAIL PROTECTED] <mailto:marcelo%40autopratense.com.br> e.com.br
* - WWW: www.autopratense.com.br http://www.autoprat
<http://www.autopratense.com.br/> ense.com.br/> 
_ 

De: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br
[mailto:[EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
os.com.br] Em
nome de Bruno Lorenzini
Enviada em: terça-feira, 11 de setembro de 2007 10:24
Para: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br
Assunto: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

SELECT TO_CHAR( MAX( TO_DATE( , ‘MMDD’ ) ) ) INTO cDataMax
FROM …

TO_DATE – vai fazer transformar o valor em data e vai te trazer a maior data
corretamente. Do jeito que estava não estava 100% correto, não sei tem
alguma data que poderia retornar algum valor errado, mas é sempre bom nesses
casos utilizar o tipo certo pra varíavel certa, ou seja, se está trabalhando
com data, use data, se está trabalhando com char, use char, e assim por
diante, evitando as tão famosas POG’s do dia-a-dia.

TO_CHAR – vai transformar o resultado do MAX() em CHAR pra que você possa
jogar em sua variável novamente.

Faça o teste e veja se funciona. Qlquer coisa é só avisar.

Abs,

_ 

De: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br
[mailto:[EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
os.com.br] Em
nome de Marcelo Alberto Lauschner
Enviada em: terça-feira, 11 de setembro de 2007 10:04
Para: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br
Assunto: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

Bom dia,

Tenho a seguinte situação:

Inúmeras procedures fazem uso do SELECT MAX() em campos CHAR(8), onde 
está armazenada uma String MMDD, ou seja data formato serial, 
para obter a última data de vários eventos numa aplicação Microsiga.
No 9i o SELECT MAX() INTO cDataMax(CHAR(8)) retornava 
exatamente CHAR(8).
Porém agora com o 10.2.0.1 está ocorrendo que está retornando NUMBER
() e assim está me dando vários erros de ORA-06502, ou seja esta 
tentando atribuir um valor de tipo diferente da váriavel.
Gostaria de saber se isto é algum Bug, ou existe algum parametro que 
defina que se ele encontrar todos os caracteres como números, 
transforma o valor da consulta em NUMBER,invés de CHAR como é o 
formato do campo?

No aguardo de qualquer opinião,

Marcelo Alberto Lauschner 
Tecnologia e Sistemas
Auto Pratense Ltda 
 - Fone: (0XX54) 3242-3615
 - Fax: (0XX54) 3242-3648
 - E-mail: [EMAIL PROTECTED]
<mailto:marcelo%40autopratense.com.br> e.com.br
 - WWW: www.autopratense.com.br 

[As partes desta mensagem que não continham texto foram removidas]


[As partes desta mensagem que não continham texto foram removidas]

 



[As partes desta mensagem que não continham texto foram removidas]



RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

2007-09-11 Por tôpico Marcelo
Bruno,
 
Não sei se você leu atentamente meu e-mail.
No 9i está consulta SELECT MAX() INTO cDataMax(CHAR(8)) 
Funcionava corretamente sem nenhum problema.
O que estou tentando evitar é justamente manipular todas as procedures da
aplicação Microsiga fazendo esta correção manualmente, pois eu já fiz testes
em que se eu uso uma função de String tal como TRIM(MAX()) ou
TO_CHAR(MAX()) o valor retornado é uma string de 8 caracteres.
Porém fico indagado por que no 10g é feita uma conversão para NUMBER de um
Campo CHAR(8), só porque todos os caracteres são números?
 
Entendeu meu colega??
 
Atenciosamente,
 
Marcelo Alberto Lauschner 
Tecnologia e Sistemas
Auto Pratense Ltda 
* - Fone: (0XX54) 3242-3615
* - Fax: (0XX54) 3242-3648
* - E-mail:  mailto:[EMAIL PROTECTED]>
[EMAIL PROTECTED]
* - WWW: www.autopratense.com.br http://www.autopratense.com.br/> 
  _  

De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Bruno Lorenzini
Enviada em: terça-feira, 11 de setembro de 2007 10:24
Para: oracle_br@yahoogrupos.com.br
Assunto: RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER
 
SELECT TO_CHAR( MAX( TO_DATE( , ‘MMDD’ ) ) ) INTO cDataMax
FROM …

TO_DATE – vai fazer transformar o valor em data e vai te trazer a maior data
corretamente. Do jeito que estava não estava 100% correto, não sei tem
alguma data que poderia retornar algum valor errado, mas é sempre bom nesses
casos utilizar o tipo certo pra varíavel certa, ou seja, se está trabalhando
com data, use data, se está trabalhando com char, use char, e assim por
diante, evitando as tão famosas POG’s do dia-a-dia.

TO_CHAR – vai transformar o resultado do MAX() em CHAR pra que você possa
jogar em sua variável novamente.

Faça o teste e veja se funciona. Qlquer coisa é só avisar.

Abs,

_ 

De: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br
[mailto:[EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br>
os.com.br] Em
nome de Marcelo Alberto Lauschner
Enviada em: terça-feira, 11 de setembro de 2007 10:04
Para: [EMAIL PROTECTED] <mailto:oracle_br%40yahoogrupos.com.br> os.com.br
Assunto: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

Bom dia,

Tenho a seguinte situação:

Inúmeras procedures fazem uso do SELECT MAX() em campos CHAR(8), onde 
está armazenada uma String MMDD, ou seja data formato serial, 
para obter a última data de vários eventos numa aplicação Microsiga.
No 9i o SELECT MAX() INTO cDataMax(CHAR(8)) retornava 
exatamente CHAR(8).
Porém agora com o 10.2.0.1 está ocorrendo que está retornando NUMBER
() e assim está me dando vários erros de ORA-06502, ou seja esta 
tentando atribuir um valor de tipo diferente da váriavel.
Gostaria de saber se isto é algum Bug, ou existe algum parametro que 
defina que se ele encontrar todos os caracteres como números, 
transforma o valor da consulta em NUMBER,invés de CHAR como é o 
formato do campo?

No aguardo de qualquer opinião,

Marcelo Alberto Lauschner 
Tecnologia e Sistemas
Auto Pratense Ltda 
 - Fone: (0XX54) 3242-3615
 - Fax: (0XX54) 3242-3648
 - E-mail: [EMAIL PROTECTED]
<mailto:marcelo%40autopratense.com.br> e.com.br
 - WWW: www.autopratense.com.br 

[As partes desta mensagem que não continham texto foram removidas]
 


[As partes desta mensagem que não continham texto foram removidas]



RES: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

2007-09-11 Por tôpico Bruno Lorenzini
SELECT TO_CHAR( MAX( TO_DATE( , ‘MMDD’ ) ) ) INTO cDataMax
FROM …

 

TO_DATE – vai fazer transformar o valor em data e vai te trazer a maior data
corretamente. Do jeito que estava não estava 100% correto, não sei tem
alguma data que poderia retornar algum valor errado, mas é sempre bom nesses
casos utilizar o tipo certo pra varíavel certa, ou seja, se está trabalhando
com data, use data, se está trabalhando com char, use char, e assim por
diante, evitando as tão famosas POG’s do dia-a-dia.

 

TO_CHAR – vai transformar o resultado do MAX() em CHAR pra que você possa
jogar em sua variável novamente.

 

Faça o teste e veja se funciona. Qlquer coisa é só avisar.

 

 

Abs,

  _  

De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Marcelo Alberto Lauschner
Enviada em: terça-feira, 11 de setembro de 2007 10:04
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] SELECT MAX() Convertendo CHAR em NUMBER

 

Bom dia,

Tenho a seguinte situação:

Inúmeras procedures fazem uso do SELECT MAX() em campos CHAR(8), onde 
está armazenada uma String MMDD, ou seja data formato serial, 
para obter a última data de vários eventos numa aplicação Microsiga.
No 9i o SELECT MAX() INTO cDataMax(CHAR(8)) retornava 
exatamente CHAR(8).
Porém agora com o 10.2.0.1 está ocorrendo que está retornando NUMBER
() e assim está me dando vários erros de ORA-06502, ou seja esta 
tentando atribuir um valor de tipo diferente da váriavel.
Gostaria de saber se isto é algum Bug, ou existe algum parametro que 
defina que se ele encontrar todos os caracteres como números, 
transforma o valor da consulta em NUMBER,invés de CHAR como é o 
formato do campo?

No aguardo de qualquer opinião,

Marcelo Alberto Lauschner 
Tecnologia e Sistemas
Auto Pratense Ltda 
 - Fone: (0XX54) 3242-3615
 - Fax: (0XX54) 3242-3648
 - E-mail: [EMAIL PROTECTED]
 e.com.br
 - WWW: www.autopratense.com.br 

 



[As partes desta mensagem que não continham texto foram removidas]



RES: [oracle_br] Select com o conteúdo de uma proc edure

2007-04-27 Por tôpico Cristiano J Santos
Olá Aleksandro.
 
Procure utilizar:
 
  SELECT TEXT FROM USER_SOURCE 
  WHERE TYPE = 'PROCEDURE'
  ORDER BY LINE;
 
Abraços,
 
Cristiano Joaquim

  _  

De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Aleksandro
Enviada em: quinta-feira, 26 de abril de 2007 15:59
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Select com o conteúdo de uma procedure



Boa tarde,

Estou precisando de saber o conteúdo de tudo que tem dentro de minhas
procedures da mesma forma que faço quando utilizo o select * from v$sql.
O conteúdo das procedures iriam aparecer em um select criado.
Isso existe ?



 


[As partes desta mensagem que não continham texto foram removidas]



RES: [oracle_br] Select "Google like"

2007-03-22 Por tôpico Ivan
Nunca usei esta função, mas veja se assim não funciona:

UPPER(SOUNDEX(NOME)) LIKE '%'||UPPER(SOUNDEX('monica'))||'%'


> -Mensagem original-
> De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
> Em nome de Marco
> Enviada em: quinta-feira, 22 de março de 2007 13:08
> Para: ORACLE_BR
> Assunto: [oracle_br] Select "Google like"
> 
> Boa tarde pessoal!
> 
> Gostaria de saber como implementar uma consulta que retornasse um
> resultado ignorando a acentuação, desta forma a consulta do tipo:
> 
> SELECT *
> FROM FUNCIONARIO
> WHERE UPPER(SOUNDEX(NOME)) LIKE UPPER(SOUNDEX('%monica%'))
> 
> No entanto, me parece que a função like nao funciona como esperado,
> porque apenas nomes iniciados pelo argumento são retornados:
> 
> MÔNICA ALMEIDA
> MONICA LIMA
> 
> Enquanto:
> 
> CARLA MÔNICA ALMEIDA
> PATRICIA DE MÔNICA
> 
> Não são retornados.
> 
> Alguma sugestão?
> 
> Agradeço antecipadamente.
> 
> Marco Antonio
> 
> eof
> 
> __
> Fale com seus amigos de graça com o novo Yahoo! Messenger
> http://br.messenger.yahoo.com/ 
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> 
> 
> 



RES: [oracle_br] select...

2007-03-07 Por tôpico Fabio Santos
Opa...

Veja se o "select * from v$sql" é o que você está querendo.

Abraços
Fabio Santos





-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
Em nome de batistaulbra
Enviada em: quarta-feira, 7 de março de 2007 17:50
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] select...


Ola pessoal, gostaria de saber se tem algum select que posso fazer, 
para ver oque os usuarios que estao acessando o banco estao fazendo, 
por exemplo, os selects que eles estao fazendo, drops, etc...





>Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package »
Procedure » Scripts » Tutoriais acesse:
http://www.oraclebr.com.br/codigo/ListaCodigo.php 

--
>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/ 

--
>O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
http://www.oraclebr.com.br/  

  
Links do Yahoo! Grupos

 

-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.446 / Virus Database: 268.18.7/712 - Release Date: 6/3/2007
15:42
 

-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.446 / Virus Database: 268.18.7/712 - Release Date: 6/3/2007
15:42
 




RES: [oracle_br] select

2007-02-28 Por tôpico Fabio Santos
Eu sei como fazer usando procedure. Mas, com o codigo em apenas um
select eu não sei.

Para fazer com procedure, faça a query como vc fez e o order by
mensagem. E no resultado, faça um if que se for igual a mensagem, vc
coloca o grupo na mesma linha.

Bom, falando eh isso. Escrevendo eh um pouquinho diferente.
Se quiser em procedure conversamos melhor.


Abraços

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
Em nome de rzzanatta
Enviada em: terça-feira, 27 de fevereiro de 2007 21:26
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] select


Olá estou com problema e nao consigo pensar direito, parece simples, 
acho.

tenho uma tabela no oracle nela tenho mensagens pra aparecer na nota 
fiscal apartir dos codigos dos produtos, ex:

codigo |  grupo  | mensagem
  01  4.3.07   ICMS RETIDO
  02  4.3.08   ICMS RETIDO
  03  4.3.01.08ISENTO
  ...
SE EU FATURAR OS PRODUTOS 4.3.07 E 4.3.08 NA MESMA NOTA EU QUERIA QUE 
APARECESSE SOMENTE UMA MENSAGEM NA NOTA, NAO DUAS.
COMO FAÇO ISSO?

MINHA SELECT É ESSA.
SELECT GRUPO FROM TESTE WHERE GRUPO IN ('4.3.01.07','4.3.01.08')

(ASSIM ELE TRAZ DOIS RESULTADOS NESSA NOTA E EU SÓ QUERO UM)





>Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package »
Procedure » Scripts » Tutoriais acesse:
http://www.oraclebr.com.br/codigo/ListaCodigo.php 

--
>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/ 

--
>O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
http://www.oraclebr.com.br/  

  
Links do Yahoo! Grupos

 

-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.412 / Virus Database: 268.18.4/705 - Release Date:
27/2/2007
 

-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.412 / Virus Database: 268.18.4/705 - Release Date:
27/2/2007
 




Res: [oracle_br] SELECT + refcursor

2007-02-02 Por tôpico Welvis Douglas Silva Moreto
Faz assim cara

declara a variavel
  TYPE TCr_Dados IS REF CURSOR;
  cr_Dados   TCr_Dados;

ai na Variavel VS_SQL você coloca o que vc quer;

OPEN cr_Dados FOR VS_SQL;
 LOOP

 AI VC USA SUA LOGICA AQUI;
 EXIT WHEN CR_DADOS%NOTFOUND;

 FETCH  CR_DADOS INTO BLA, BLA, BLA;

END LOOP;
CLOSE CR_DADOS;

Ok, espero ter ajudado.

att,

Welvis Douglas
msn - [EMAIL PROTECTED]


- Mensagem original 
De: Listas <[EMAIL PROTECTED]>
Para: oracle_br@yahoogrupos.com.br
Enviadas: Quinta-feira, 1 de Fevereiro de 2007 10:22:24
Assunto: [oracle_br] SELECT + refcursor

Bom dia a todos,

É possível realizar um SELECT da seguinte forma?

SELECT v_lista FROM dual; ,
onde v_lista é uma variável RECORD TYPE ou REFCURSOR?

A idéia é que este select fique dinâmico e possa
“ler” qualquer variável deste tipo.

Desde já agradeço.

PS: Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production

Solaris 9

[As partes desta mensagem que não continham texto foram removidas]




__
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

[As partes desta mensagem que não continham texto foram removidas]



RES: [oracle_br] Select randomico

2006-12-19 Por tôpico Abel - Informatica
Retirando o ultimo % o resultado vem mais sortido. Experimente.
 
Select a.* From clientes a
Where a.codigo Like '%' || ( Select to_number(substr(Dbms_Random.Random,-2)+1) 
Numero From dual )
And Rownum < 101


Att. Abel de Souza Magalhães
___
Depto. Informática 
Ober S/A Indústria e Comércio
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> 
http://www.ober.com.br <http://www.ober.com.br/> 
(19) 3466-9200 R. 9391



De: Abel - Informatica 
Enviada em: terça-feira, 19 de dezembro de 2006 11:22
Para: 'oracle_br@yahoogrupos.com.br'
Assunto: RES: [oracle_br] Select randomico


Tente isso :
 
Select a.* From clientes a
Where a.codigo Like '%' || ( Select to_number(substr(Dbms_Random.Random,-2)+1) 
Numero From dual ) || '%'
And Rownum < 101

Explicação :
 
Bom, a tabela acima tem um campo denominado Codigo ( integer ) de 5 posições 
variando de 1 até 9. 
 
No select, faço uso da function dbms_random pegando os dois dígitos finais 
adicionado de 1 pois o resultado varia de 0 a 99 e vc quer as 100 primeiras 
linhas.
Depois coloco o mesmo na cláusula where com like. Funciona perfeitamente se a 
tabela tiver bem populada. No meu teste, minha tabela possui mais de 50 mil 
linhas e funcionou perfeitamente.  
 
Espero que tenha ajudado.
 
Att. Abel de Souza Magalhães
___
Depto. Informática 
Ober S/A Indústria e Comércio
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> 
http://www.ober.com.br <http://www.ober.com.br/> 
(19) 3466-9200 R. 9391


De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Rafael 
Milanez - BusinessOn
Enviada em: terça-feira, 19 de dezembro de 2006 10:58
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] Select randomico



seria isso vc quer as 100 primeiras linhas sem ordenação na tabela?

create table t (cod int);

begin
for x in 0..300 loop
insert into t values (x);
commit;
end loop;
end;
/

select cod from
(select cod from t where rownum <= 203) 
where cod between 0 and 100

seria isso amigo ?

- Original Message - 
From: Silvanira Cervi Hort 
To: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br>  
Sent: Tuesday, December 19, 2006 8:54 AM
Subject: [oracle_br] Select randomico

Pessoal estou precisando fazer um select numa tabela de n linhas.. porem
preciso de 100 linhas de forma randomica dessa tabela...

alguém sabe como fazer

Silvanira

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]



 


[As partes desta mensagem que não continham texto foram removidas]



RES: [oracle_br] Select randomico

2006-12-19 Por tôpico Abel - Informatica
Tente isso :
 
Select a.* From clientes a
Where a.codigo Like '%' || ( Select to_number(substr(Dbms_Random.Random,-2)+1) 
Numero From dual ) || '%'
And Rownum < 101

Explicação :
 
Bom, a tabela acima tem um campo denominado Codigo ( integer ) de 5 posições 
variando de 1 até 9. 
 
No select, faço uso da function dbms_random pegando os dois dígitos finais 
adicionado de 1 pois o resultado varia de 0 a 99 e vc quer as 100 primeiras 
linhas.
Depois coloco o mesmo na cláusula where com like. Funciona perfeitamente se a 
tabela tiver bem populada. No meu teste, minha tabela possui mais de 50 mil 
linhas e funcionou perfeitamente.  
 
Espero que tenha ajudado.
 
Att. Abel de Souza Magalhães
___
Depto. Informática 
Ober S/A Indústria e Comércio
[EMAIL PROTECTED]  
http://www.ober.com.br  
(19) 3466-9200 R. 9391


De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Rafael 
Milanez - BusinessOn
Enviada em: terça-feira, 19 de dezembro de 2006 10:58
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] Select randomico



seria isso vc quer as 100 primeiras linhas sem ordenação na tabela?

create table t (cod int);

begin
for x in 0..300 loop
insert into t values (x);
commit;
end loop;
end;
/

select cod from
(select cod from t where rownum <= 203) 
where cod between 0 and 100

seria isso amigo ?

- Original Message - 
From: Silvanira Cervi Hort 
To: oracle_br@yahoogrupos.com.br   
Sent: Tuesday, December 19, 2006 8:54 AM
Subject: [oracle_br] Select randomico

Pessoal estou precisando fazer um select numa tabela de n linhas.. porem
preciso de 100 linhas de forma randomica dessa tabela...

alguém sabe como fazer

Silvanira

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]



 


[As partes desta mensagem que não continham texto foram removidas]



RES: [oracle_br] Select que traga todas as dependents de uma tabela...

2006-11-23 Por tôpico Cassio Frigo
Bom dia, 

Use a view DBA_DEPENDENCIES

Exemplo .:

SELECT * 
  FROM DBA_DEPENDENCIES
 WHERE referenced_type = 'TABLE'
   AND referenced_NAME = 'SUATABELA'


Cassio Frigo






Res: [oracle_br]Select de privilégios

2006-10-24 Por tôpico Welvis Douglas Silva Moreto
você consegue ver essas informações atravez da 

DBA_TAB_PRIVS

ai é só voce filtrar os usuarios... que você quer.

att,

Welvis Douglas


- Mensagem original 
De: Ronaldo Pinto <[EMAIL PROTECTED]>
Para: oracle_br@yahoogrupos.com.br
Enviadas: Terça-feira, 24 de Outubro de 2006 12:22:44
Assunto: [oracle_br]Select de privilégios

Olá Grupo!

Quando usamos a opção "Criar Como", no Enterprise Manager, para criar um
usuário novo a partir de um já existente, são listados todos os privilégios
desse usuário existente.
Como posso obter as mesmas informações com um select no sqlplus?

Obrigado pela ajuda,

Ronaldo


[As partes desta mensagem que não continham texto foram removidas]





___ 
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale 
o discador agora! 
http://br.acesso.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]



Vem aí: ENPO-BR 2006 - Encontro Nacional de Profissionais Oracle
VISITE: http://www.enpo-br.org/ - Dia 11/11 "Vagas Limitadas"

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
--
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/ 
--
O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 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:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 



RES: [oracle_br] Select Top

2006-08-21 Por tôpico Marcelo
Marcio 
 
Realmente acabei achando documentação no Google depois de ter enviado o
e-mail
 
Obrigado.
 
Marcelo Alberto Lauschner 
Depto. De Informática
Auto Pratense Ltda
* - Fax: (0XX54) 3242-3615
* - E-mail:  
[EMAIL PROTECTED]
 
  _  

De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Marcio Arcoverde
Enviada em: segunda-feira, 21 de agosto de 2006 17:32
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] Select Top
 
Algumas coisas o google ou a documentação online do oracle podem resolver
pra você.

select * from tabela
where rownum <= 3

Cuidado especial deve ser tomado em consultas com "order by"... Mas ai eu
repido, o google pode te ajudar.

On 8/21/06, Marcelo <[EMAIL PROTECTED]> wrote:
>
>
> Olá pessoal,
>
> Estou precisando fazer uma consulta que retorne somente 3 primeiras
> linhas.
> No MS Access  eu usava o SELECT TOP 3, porém no Oracle não funciona.
> Desculpem a ingenuidade da pergunta, mas não sei qual seria o comando
> correto.
>
> At.
>
> Marcelo Alberto Lauschner
> Depto. De Informática
> Auto Pratense Ltda
> * - Fax: (0XX54) 3242-3615
> * - E-mail:  
> [EMAIL PROTECTED]
>
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>


[As partes desta mensagem que não continham texto foram removidas]

 


[As partes desta mensagem que não continham texto foram removidas]



--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__

OPORTUNIDADES DE TRABALHO, VAGAS, EMPREGOS PARA PROFISSIONAIS ORACLE VISITE: 
http://www.oraclebr.com.br/
__
Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine  
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:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




RES: [oracle_br] SELECT

2006-08-16 Por tôpico Alexandre Eduardo Borges
 

 

   Obrigado  Márcia era isso mesmo...

 

 



 

Alexandre Eduardo Borges

  ASTEC - BANCO DE DADOS

  _  

De: Marcia Bussolaro [mailto:[EMAIL PROTECTED] 
Enviada em: terça-feira, 15 de agosto de 2006 17:43
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] SELECT

 


Tente assim:

SELECT   a.cfe_funcionario_matricula AS matricula, 
'A' AS A,
SUM (decode(b.indica_formulario,'A',a.pontos,0)) AS pontos_A,
'E' AS E,
SUM (decode(b.indica_formulario,'E',a.pontos,0)) AS pontos_E,
 'S' AS S,
SUM (decode(b.indica_formulario,'S',a.pontos,0)) AS pontos_S
 FROM afe_atividade_agente a, afe_atividade b
WHERE a.afe_atividade_codigo = b.codigo
  AND a.periodo = '12006'
  AND a.cfe_funcionario_matricula = '463361'
GROUP BY a.cfe_funcionario_matricula

[]
Marcia

On Tue, 15 Aug 2006 19:55:42 -, "alex_borges"
<[EMAIL PROTECTED]> escreveu:

> De: "alex_borges" <[EMAIL PROTECTED]>
> Data: Tue, 15 Aug 2006 19:55:42 -
> Para: oracle_br@yahoogrupos.com.br
> Assunto: [oracle_br] SELECT
> 
> 
> 
> SO WINDOWS 2000 SERVER
> ORACLE 8.1.7
> 
> 
>   Caros colegas
> 
> Tenho o seguinte select :
> 
> 
> SELECT   a.cfe_funcionario_matricula AS matricula, 
> b.indica_formulario,
>  SUM (a.pontos) AS pontos
> FROM afe_atividade_agente a, afe_atividade b
>WHERE a.afe_atividade_codigo = b.codigo
>  AND a.periodo = '12006'
>  AND a.cfe_funcionario_matricula = '463361'
> GROUP BY a.cfe_funcionario_matricula, b.indica_formulario
> 
> 
> retorna o seguinte resultado:
> 
> matriculaindica_formulario  pontos
> 463361  A  7
> 463361  E  2
> 463361  S  40
> 
> 
>   alguém sabe como trazer o resultado numa linha só, como mostro 
> abaixo:
> 
> matricula
> 463361  A 7E2 S40
> 
> 
> Obrigado
> 
> 
> 
> 
> 
> 
> 
 



[As partes desta mensagem que não continham texto foram removidas]



--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__

OPORTUNIDADES DE TRABALHO, VAGAS, EMPREGOS PARA PROFISSIONAIS ORACLE VISITE: 
http://www.oraclebr.com.br/
__
Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine  
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:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




RES: [oracle_br] Select reduzido

2006-04-10 Por tôpico Cristiano Fagundes
Alguém conseguiu resolver isso.

Att,
Fagundes
  -Mensagem original-
  De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
nome de Márcio Ricardo
  Enviada em: quinta-feira, 6 de abril de 2006 14:25
  Para: oracle_br@yahoogrupos.com.br
  Assunto: Re: [oracle_br] Select reduzido


  Se vc usar o DISTINCT não funciona?
- Original Message -
From: André_Oracle
To: Lista Oracle
Sent: Thursday, April 06, 2006 1:50 PM
Subject: [oracle_br] Select reduzido


Caros amigos...
Montei um select na minha tabela de movimentação de estoque que me dá o
seguinte resultado.

*Cod   qtdevalor   total*
1  1   5,00  5,00
1  2   5,00 10,00

O que eu precisava era  mostrar apenas uma linha totalizada da seguinte
forma:

*Cod   qtdevalor   total*
1  35,0015,00

Vcs poderiam me ajudar?

Obrigado.

André






--
Atenção! As mensagens deste grupo são de acesso público e de inteira
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/

--__


Este Grupo recebe o apoio da SQL Magazine -
www.devmedia.com.br/sqlmagazine
__
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo,
tenha o link do mesmo para evitar trafego(pedidos) desnecessário.


  Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE




  --

Links do Yahoo! Grupos

  a.. Para visitar o site do seu grupo na web, acesse:
  http://br.groups.yahoo.com/group/oracle_br/

  b.. Para sair deste grupo, envie um e-mail para:
  [EMAIL PROTECTED]

  c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo!.



  [As partes desta mensagem que não continham texto foram removidas]



  --

  Atenção! As mensagens deste grupo são de acesso público e de inteira
responsabilidade de seus remetentes.
  Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
  --

__

  Este Grupo recebe o apoio da SQL Magazine -
www.devmedia.com.br/sqlmagazine
  __
  O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha
o link do mesmo para evitar trafego(pedidos) desnecessário.




--
  Links do Yahoo! Grupos

a.. Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

b.. Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo!.



[As partes desta mensagem que não continham texto foram removidas]



--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o 
link do mesmo para evitar trafego(pedidos) desnecessário. 
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:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





RES: [oracle_br] select utilizando o MAX( )

2005-09-12 Por tôpico Ivan Ricardo Schuster
Só uma correção, como o retorno do max é único, basta usar o operador de
igualdade

select * from tabela1
where data_ultimo_movimento =
(select max(data_ultimo_movimento) from tabela1)


Abraço
Ivan

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de [EMAIL PROTECTED]
Enviada em: segunda-feira, 12 de setembro de 2005 09:12
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] select utilizando o MAX( )

Existe duas formas pra se fazer isso:

1 - Usando group by

select coluna1, coluna2, max(data_ultimo_movimento) from tabela1
group by coluna1, coluna2

2 - Usando subselect

select * from tabela1
where data_ultimo_movimento in
(
select max(data_ultimo_movimento) from tabela1
)


Abraço.





"Carlos Geiser" <[EMAIL PROTECTED]>
Sent by: oracle_br@yahoogrupos.com.br
11/09/2005 04:16
Please respond to oracle_br

 
To: ,
<[EMAIL PROTECTED]>
cc: 
Subject:[oracle_br] select utilizando o MAX( )


Pessoal,
alguém ai poderia me informar a sintaxe do select utilizando o MAX( ) que
retorne outras colunas da tabela.

Por exemplo:

select max(data_ultimo_movimento) from tabela1

Nesse select eu faço um select para retornar a maior DATA   do ultimo
movimento "data_ultimo_movimento",
só que o resulta é apenas a data em questão, o que estou querendo é a 
linha
inteira.


Já tentei esse e entre outros select´s:
select * max(data_ultimo_movimento) from tabela1

Só que dá erro !

Grato,

Carlos Geiser.




__

Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
Falar com os Moderadores:([EMAIL PROTECTED])
Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar 
__ 
Links do Yahoo! Grupos




 






[As partes desta mensagem que não continham texto foram removidas]



__

Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
Falar com os Moderadores:([EMAIL PROTECTED])
Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar 
__ 
Links do Yahoo! Grupos




 





__

Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
Falar com os Moderadores:([EMAIL PROTECTED])
Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar 
__ 
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:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




RES: [oracle_br] select max

2005-09-05 Por tôpico Rosiano Vieira de Sales
Vc esta montando uma rotina para criação de número sequencial  se for 
porque não usa sequence ???

-Mensagem original- 
De: oracle_br@yahoogrupos.com.br em nome de eramirtoncrispim 
Enviada: qui 01/09/2005 14:21 
Para: oracle_br@yahoogrupos.com.br 
Cc: 
Assunto: [oracle_br] select max



Pessoal preciso fazer um select max em uma tabela com mais de 2
milhoes de registros para trazer o ultimo número e acrescentar +1 a
ele, só que isso está levando muito tempo, alguém conhece uma forma 
de
melhorar essa operação?


Obrigado!






__

Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
Falar com os Moderadores:([EMAIL PROTECTED])
Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar
__
Links do Yahoo! Grupos












[As partes desta mensagem que não continham texto foram removidas]



__

Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
Falar com os Moderadores:([EMAIL PROTECTED])
Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar 
__ 
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:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




RES: RES: [oracle_br] Select Tabela Particionada

2005-06-22 Por tôpico Salvio Padlipskas
Penso que sem indice será impossível o otimizador não montar um plano de
execução
que não seja FULL TABLE SCAN, que por sua vez terá que ler todos os blocos
de dados
contidos nessa tabela.

Crie uma PK particionada e realize o teste.

[ ]'s
Salvio Padlipskas

-Mensagem original-
De: Ronaldo Sales [mailto:[EMAIL PROTECTED]
Enviada em: quarta-feira, 22 de junho de 2005 14:10
Para: oracle_br
Assunto: Re:RES: [oracle_br] Select Tabela Particionada


Não criei índice algum, mas só com o ano e a plataforma não teria que ir na
partição e fazer um FULL nela ?

Ronaldo.





De:oracle_br@yahoogrupos.com.br

Para:"oracle_br@yahoogrupos.com.br" oracle_br@yahoogrupos.com.br

Cópia:

Data:Wed, 22 Jun 2005 12:47:40 -0300

Assunto:RES: [oracle_br] Select Tabela Particionada

Olá Ronaldo,

Em seu teste vc não referenciou a criação do índice respectivo (ano_mes e
plataforma) à tabela,
o que poderia garantir um outro plano de execução.

Vc chegou a criar esse indice ?

[ ]'s
Salvio




-Mensagem original-
De: Ronaldo Sales [mailto:[EMAIL PROTECTED]
Enviada em: quarta-feira, 22 de junho de 2005 10:22
Para: oracle_br
Assunto: Re: [oracle_br] Select Tabela Particionada


Sem querer abusar. Olha o meu teste completo Anderson.
O campo anomes é numérico e o plataforma só pode ter 11 ou 12.

Desculpa se eu to abusando, mas de repente vc vê alguma coisa que eu não vi
e fiz errado.

CREATE TABLE part_ronaldo
(ANOMES NUMBER(6) NOT NULL,
PLATAFORMA NUMBER(2) NOT NULL,
COD_CLIENTE NUMBER(7) ,
COD_CELULAR NUMBER(7) )
PARTITION BY RANGE (ANOMES,PLATAFORMA)
( PARTITION P2004 VALUES LESS THAN (200412,12)
,PARTITION P20041112 VALUES LESS THAN (200412,13)
,PARTITION P20041211 VALUES LESS THAN (200501,12)
,PARTITION P20041212 VALUES LESS THAN (200501,13))

-- inserindo linhas. 1milhão para o mês de novembro 2004

1 insert into PART_RONALDO
2 select 200411, decode(mod(rownum,2),0,12,11), rownum, 23
3 from tmp_mc_fact_rent_200411
4* where rownum <= 100
__SP>/
100 linhas criadas.
Decorrido: 00:01:01.02
__SP>commit;
Validação completa.
Decorrido: 00:00:00.01

-- inserindo linhas. 1milhão para o mês de Dezembro 2004
1 insert into PART_RONALDO
2 select 200412, decode(mod(rownum,2),0,12,11), rownum, 23
3 from tmp_mc_fact_rent_200411
4* where rownum <= 100
__SP>/
100 linhas criadas.
Decorrido: 00:02:35.00
__SP>commit;
Validação completa.
Decorrido: 00:00:00.00

1 select SUM(bytes) / 1024 "Size [Kb]", partition_name from user_segments
2 where segment_name = 'PART_RONALDO'
3* GROUP BY partition_name
__SP>/
Size [Kb] PARTITION_NAME
-- --
34816 P2004
12288 P20041112
64 P20041211
64 P20041212
Decorrido: 00:00:03.01

*** ANALISANDO ***
__SP>analyze table PART_RONALDO compute statistics;
Tabela analisada.
Decorrido: 00:05:03.03

__SP> SELECT *
2 FROM PART_RONALDO
3 WHERE PLATAFORMA = 11
4 AND ANOMES = 200411;
Decorrido: 00:00:00.00
Execution Plan
--
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=106 Card=375000 Byte
s=450)
1 0 TABLE ACCESS (FULL) OF 'PART_RONALDO' (Cost=106 Card=37500
0 Bytes=450)


*** Agora eu tento ver os valores que estão nas partições. 

__SP>SELECT distinct anomes, plataforma
2 FROM PART_RONALDO partition(P2004);
ANOMES PLATAFORMA
-- --
200411 11
200411 12
200412 11

1 SELECT distinct anomes, plataforma
2* FROM PART_RONALDO partition(P20041112)
__SP>/
ANOMES PLATAFORMA
-- --
200412 12

1 SELECT distinct anomes, plataforma
2* FROM PART_RONALDO partition(P20041211)
__SP>/
não há linhas selecionadas
Decorrido: 00:00:00.00

1 SELECT distinct anomes, plataforma
2* FROM PART_RONALDO partition(P20041212)
__SP>/
não há linhas selecionadas
Decorrido: 00:00:00.00





De:oracle_br@yahoogrupos.com.br

Para:oracle_br@yahoogrupos.com.br

Cópia:

Data:Wed, 22 Jun 2005 09:51:37 -0300

Assunto:Re: [oracle_br] Select Tabela Particionada

Ronaldo,

Quando não se referencia o campo chave da Partição (mes+plataforma, *pode
ser este o problema*), o Banco irá ler todas as partições existentes. Não
esqueça também, você precisa ter estatísticas fresquinhas para todas as
partições.

Atenciosamente,

Anderson Haertel Rodrigues
Administrador de Banco de Dados
Oracle 9i Database Administrator Certified
Microsoft Certified Professional SQL Server 2000
Florianópolis/SC

- Original Message -
From: "Ronaldo Sales" 
To: "oracle_br" 
Sent: Wednesday, June 22, 2005 9:33 AM
Subject: Re: [oracle_br] Select Tabela Particionada


Valeu Anderson, eu imaginei mesmo. É que ontem eu fiquei fazendo uns testes
aqui num 8.1.7.4.0 e no plano de execução não fazia referencia a partição,
que aliás eu criei por chave composta (mes, plataforma).

Pior que inseri uns dados, rodei analyze. E mesmo assim ele full na tabela
toda.

Ronaldo.





De:oracle_br@yahoogrupos.com.br

Para:oracle_br@yahoogrupos.com.br

Cópia:

Data:Wed, 22 Jun 2005 09:17:41 -0300

Assunto:Re: [oracle_br] Select Tabela Particionada

R

RES: [oracle_br] Select Tabela Particionada

2005-06-22 Por tôpico Salvio Padlipskas
Olá Ronaldo,

Em seu teste vc não referenciou a criação do índice respectivo  (ano_mes e
plataforma) à tabela,
o que poderia garantir um outro plano de execução.

Vc chegou a criar esse indice ?

[ ]'s
Salvio




-Mensagem original-
De: Ronaldo Sales [mailto:[EMAIL PROTECTED]
Enviada em: quarta-feira, 22 de junho de 2005 10:22
Para: oracle_br
Assunto: Re: [oracle_br] Select Tabela Particionada


Sem querer abusar. Olha o meu teste completo Anderson.
O campo anomes é numérico e o plataforma só pode ter 11 ou 12.

Desculpa se eu to abusando, mas de repente vc vê alguma coisa que eu não vi
e fiz errado.

CREATE TABLE part_ronaldo
(ANOMES  NUMBER(6) NOT NULL,
 PLATAFORMA  NUMBER(2) NOT NULL,
 COD_CLIENTE NUMBER(7) ,
 COD_CELULAR NUMBER(7) )
PARTITION BY RANGE (ANOMES,PLATAFORMA)
( PARTITION P2004 VALUES LESS THAN (200412,12)
 ,PARTITION P20041112 VALUES LESS THAN (200412,13)
 ,PARTITION P20041211 VALUES LESS THAN (200501,12)
 ,PARTITION P20041212 VALUES LESS THAN (200501,13))

-- inserindo linhas. 1milhão para o mês de novembro 2004

  1  insert into PART_RONALDO
  2  select 200411, decode(mod(rownum,2),0,12,11), rownum, 23
  3  from tmp_mc_fact_rent_200411
  4* where rownum <= 100
__SP>/
100 linhas criadas.
Decorrido: 00:01:01.02
__SP>commit;
Validação completa.
Decorrido: 00:00:00.01

-- inserindo linhas. 1milhão para o mês de Dezembro 2004
  1  insert into PART_RONALDO
  2  select 200412, decode(mod(rownum,2),0,12,11), rownum, 23
  3  from tmp_mc_fact_rent_200411
  4* where rownum <= 100
__SP>/
100 linhas criadas.
Decorrido: 00:02:35.00
__SP>commit;
Validação completa.
Decorrido: 00:00:00.00

  1  select SUM(bytes) / 1024 "Size [Kb]", partition_name from user_segments
  2  where segment_name = 'PART_RONALDO'
  3* GROUP BY partition_name
__SP>/
 Size [Kb] PARTITION_NAME
-- --
 34816 P2004
 12288 P20041112
64 P20041211
64 P20041212
Decorrido: 00:00:03.01

*** ANALISANDO ***
__SP>analyze table PART_RONALDO compute statistics;
Tabela analisada.
Decorrido: 00:05:03.03

__SP> SELECT *
  2   FROM PART_RONALDO
  3   WHERE PLATAFORMA = 11
  4 AND ANOMES = 200411;
Decorrido: 00:00:00.00
Execution Plan
--
   0  SELECT STATEMENT Optimizer=CHOOSE (Cost=106 Card=375000 Byte
  s=450)
   10   TABLE ACCESS (FULL) OF 'PART_RONALDO' (Cost=106 Card=37500
  0 Bytes=450)


*** Agora eu tento ver os valores que estão nas partições. 

__SP>SELECT distinct anomes, plataforma
  2  FROM PART_RONALDO  partition(P2004);
ANOMES PLATAFORMA
-- --
200411 11
200411 12
200412 11

  1  SELECT distinct anomes, plataforma
  2* FROM PART_RONALDO  partition(P20041112)
__SP>/
ANOMES PLATAFORMA
-- --
200412 12

  1  SELECT distinct anomes, plataforma
  2* FROM PART_RONALDO  partition(P20041211)
__SP>/
não há linhas selecionadas
Decorrido: 00:00:00.00

  1  SELECT distinct anomes, plataforma
  2* FROM PART_RONALDO  partition(P20041212)
__SP>/
não há linhas selecionadas
Decorrido: 00:00:00.00





De:oracle_br@yahoogrupos.com.br

Para:oracle_br@yahoogrupos.com.br

Cópia:

Data:Wed, 22 Jun 2005 09:51:37 -0300

Assunto:Re: [oracle_br] Select Tabela Particionada

Ronaldo,

Quando não se referencia o campo chave da Partição (mes+plataforma, *pode
ser este o problema*), o Banco irá ler todas as partições existentes. Não
esqueça também, você precisa ter estatísticas fresquinhas para todas as
partições.

Atenciosamente,

Anderson Haertel Rodrigues
Administrador de Banco de Dados
Oracle 9i Database Administrator Certified
Microsoft Certified Professional SQL Server 2000
Florianópolis/SC

- Original Message -
From: "Ronaldo Sales" 
To: "oracle_br" 
Sent: Wednesday, June 22, 2005 9:33 AM
Subject: Re: [oracle_br] Select Tabela Particionada


Valeu Anderson, eu imaginei mesmo. É que ontem eu fiquei fazendo uns testes
aqui num 8.1.7.4.0 e no plano de execução não fazia referencia a partição,
que aliás eu criei por chave composta (mes, plataforma).

Pior que inseri uns dados, rodei analyze. E mesmo assim ele full na tabela
toda.

Ronaldo.





De:oracle_br@yahoogrupos.com.br

Para:oracle_br@yahoogrupos.com.br

Cópia:

Data:Wed, 22 Jun 2005 09:17:41 -0300

Assunto:Re: [oracle_br] Select Tabela Particionada

Ronaldo,

Se houverem estatísticas fresquinhas, etc, o Banco vai ler apenas os blocos
que fazem parte da Partição do mês "XX".

Atenciosamente,

Anderson Haertel Rodrigues
Administrador de Banco de Dados
Oracle 9i Database Administrator Certified
Microsoft Certified Professional SQL Server 2000
Florianópolis/SC

- Original Message -
From: "Ronaldo Ap. de Sales"
To:
Sent: Tuesday, June 21, 2005 8:10 PM
Subject: [oracle_br] Select Tabela Particionada


>
> Uma pergunta boba.
>
> Se eu tenho uma tabela particionada pelo campo MES.
>
> Digamos que eu faça um select assim: