No caso a expressão seria sempre a mesma. É só um processo da empresa
que precisa de uma seleção deste tipo.
Agradeço o retorno.
[]'s do Alex!
O jeito de um sonho se tornar verdadeiro é o jeito que temos de tirar
verdades do sonho.
(James Hillman)
Alexssandro André Gottschalk
Informática - A. Grings S.A.
mailto:[EMAIL PROTECTED]
MSN Messenger: [EMAIL PROTECTED]
(51) 3545-1000 (R.: 359)
Igrejinha - RS
-----Mensagem original-----
De: [email protected] [mailto:[EMAIL PROTECTED] Em nome de jlchiappa
Enviada em: segunda-feira, 15 de maio de 2006 10:33
Para: [email protected]
Assunto: [oracle_br] Re: Índice para uma experssão. Tem como??
Alex, pra vc poder indexar tem que ser alguma coisa fixa, que retorne
um único valor dado o mesmo input, e que conste no dicionário de
dados permanentemente : colunas obdedecem à isso, functions obedecem
á isso, expressões não, então o que vc faria é uma FUNCTION que
receba os parãmetros e internamente execute a expressão e retorne
zero um um, aí vc teria que alterar o WHERE para incluir uma
restrição do tipo :
...
AND minhafuncdeindice(VlrIcm, VlrIpi, VlrIRF) > 0
...
é isso. Logicamente, no bd Oracle um índice NÃO é dinâmico, ie,
apenas quando vc cria o índice é que a expressão é "compilada", a
chave resultante é montada, armazenada e daí pra frente nos DMLs a
chave tem seu valor alterado/deletado ou são criadas novas chaves mas
sempre com a MESMA condição/expressão do CREATE, assim isso vai ter
servir se a expressão SEMPRE é VlrIcm+VlrIpi+VlrIRF, se hoje é
VlrIcm+VlrIpi+VlrIRF amanhã é outra o índice NÃO vai te servir, a não
ser que vc o recire a cada mudança de expressão.
[]s
Chiappa
--- Em [email protected], "Informatica" <[EMAIL PROTECTED]>
escreveu
>
> Bom dia, tenho um SQL aqui na empresa que para a seleção é
utilizada uma expressão matemática para restrição dos dados. Existe
uma maneira de criar uma índice para uma expressão assim como pode
ser criado índice para uma função??
>
> O SQL seria algo como:
>
> Select CodCli, DatEnt, NumNfv From Notas
> Where (VlrIcm+VlrIpi+VlrIRF) > 0;
>
> Existem outros campos envolvidos na seleção, mas a expressão é
o mais restritivo. Alguma sugestão??
>
> Oracle 10g (10.1.0.5.0) on MS Windows 2003
>
> []'s do Alex!
>
> O jeito de um sonho se tornar verdadeiro é o jeito que
temos de tirar verdades do sonho.
> (James Hillman)
>
> Alexssandro André Gottschalk
> Informática - A. Grings S.A.
> mailto:[EMAIL PROTECTED]
> MSN Messenger: [EMAIL PROTECTED]
> (51) 3545-1000 (R.: 359)
> Igrejinha - RS
>
>
>
> [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/[email protected]/
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________
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
--------------------------------------------------------------------------------------------------------------------------
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/[email protected]/
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________
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