[oracle_br] Re: consulta select

2012-06-20 Por tôpico J. Laurindo Chiappa
  Neste momento não tenho o tempo pra te montar um exemplo completo, mas pelo 
que entendi o que vc quer é uma soma Particionada dos valores de ICMS, mas no 
caso particionando por nota fiscal : 
http://askanantha.blogspot.com.br/2007/10/running-total-or-cumulative-sum-using.html
 e 
http://asktom.oracle.com/pls/asktom/f?p=100:11:0P11_QUESTION_ID:1793764100346222947
 são exemplos, e veja que em ambos além do OVER foi indicado um PARTITION, acho 
que é isso q tá faltando

 []s

   Chiappa

--- Em oracle_br@yahoogrupos.com.br, Márcio - Grupos Oracle marcio_cbj@... 
escreveu

 Boas.
 
  
 
 Depois de tanto tempo sem desenvolver, enferrujei total.
 
  
 
 Preciso de ajuda numa consulta, é o seguinte, tenho as informações e tenho
 um campo que tem o valor total da nota, e tenho outro campo que tem o ICMS
 para cada item da nota. Eu preciso somar o valor do ICMS e descontar do
 total da nota. Para uma nota funciona, mas quando coloco para todas o select
 fica doidão.
 
  
 
 Estou tentando utilizar o OVER,  mas não estão agrupando por nada e está
 dando erro.
 
  
 
 SELECT dbnp.db_notap_nro AS NOTA,
 
round(DBNF.DB_NOTA_VLR_PROD,2)  +
 sum(round(dbnp.db_notap_vlr_icms,2))  OVER(ORDER BY dbnp.db_notap_nro)
 Valor Sem Tributação,
 
round(DBNF.DB_NOTA_VLR_PROD,2)  AS Valor Total Nota,
 
dbnf.db_nota_cond_pgto AS Pagamento,
 
dbnf.db_nota_operacao AS Natureza Operação,
 
DBNF.DB_NOTA_DT_EMISSAO,
 
dbc.db_cli_nome AS Cliente,
 
dbc.db_cli_cidade AS Cidade,
 
dbc.db_cli_situacao AS Situaçao,
 
dbc.db_cli_lpreco AS Lista de Preço,
 
dbc.db_cli_regiao AS Micro Região,
 
dbp.db_prod_descricao AS Produto,
 
dbtr.db_tbrep_nome AS Representante,
 
dbtrs.db_tbrep_nome AS Superior,
 
dbtf.db_tbfam_descricao AS Categoria do Produto,
 
dbtra.db_tbatv_descricao AS Ramo Atividade,
 
case when dbto.db_tbops_fat = 'S' then 'Venda'
 
 when dbto.db_tbops_fat = 'B' then 'Bonificação'
 
 when dbto.db_tbops_fat = 'D' then 'Devolução'
 
 when dbto.db_tbops_fat = 'N' then 'Outras Saídas'
 
 else 'Transferência'
 
end  AS Tipo Nota
 
   FROM xxx.DB_NOTA_PROD DBNP, xx.db_nota_fiscal dbnf, xx.db_cliente dbc,
 xx.db_produto dbp,
 
xx.db_tb_repres dbtr, xx.db_tb_repres dbtrs, xx.db_tb_familia dbtf,
 
xx.db_tb_ramo_ativ dbtra, xx.db_tb_opers dbto
 
 WHERE dbnp.db_notap_empresa = '016'
 
AND DBNP.DB_NOTAP_EMPRESA = dbnf.db_nota_empresa
 
AND DBNP.DB_NOTAP_NRO = DBNF.db_nota_nro
 
AND DBNP.DB_NOTAP_SERIE = DBNF.DB_NOTA_SERIE
 
AND DBC.DB_CLI_CODIGO = DBNF.DB_NOTA_CLIENTE
 
AND DBNP.DB_NOTAP_PRODUTO = DBP.DB_PROD_CODIGO
 
AND DBNF.DB_NOTA_REPRES = DBTR.DB_TBREP_CODIGO
 
AND dbtr.db_tbrep_superior = dbtrs.db_tbrep_codigo
 
AND DBP.DB_PROD_FAMILIA = DBTF.DB_TBFAM_CODIGO
 
AND DBNF.DB_NOTA_OPERACAO = DBTO.DB_TBOPS_COD
 
and dbc.db_cli_ramativ = dbtra.db_tbatv_codigo
 
AND DBNF.DB_NOTA_DT_EMISSAO BETWEEN '02-JAN-2012' AND '02-JAN-2012'
 
--AND DBNP.DB_NOTAP_NRO = 11727
 
--AND DBNP.DB_NOTAP_SERIE = 'D00'
 
 /*group by dbnp.db_notap_nro,
 
DBNF.DB_NOTA_VLR_PROD,
 
dbnf.db_nota_cond_pgto,
 
dbnf.db_nota_operacao,
 
DBNF.DB_NOTA_DT_EMISSAO,
 
dbc.db_cli_nome,
 
dbc.db_cli_cidade,
 
dbc.db_cli_situacao,
 
dbc.db_cli_lpreco,
 
dbc.db_cli_regiao,
 
dbp.db_prod_descricao,
 
dbtr.db_tbrep_nome,
 
dbtrs.db_tbrep_nome,
 
dbtf.db_tbfam_descricao,
 
dbtra.db_tbatv_descricao,
 
dbto.db_tbops_fat*/
 
 
 
 [As partes desta mensagem que não continham texto foram removidas]





RES: [oracle_br] Re: consulta select

2012-06-20 Por tôpico Márcio - Grupos Oracle
Resolvido com o partition by.

 

Obrigado chiappa.

 

De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
nome de J. Laurindo Chiappa
Enviada em: Wednesday, 20 de June de 2012 14:36
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Re: consulta select

 

  

Neste momento não tenho o tempo pra te montar um exemplo completo, mas pelo
que entendi o que vc quer é uma soma Particionada dos valores de ICMS, mas
no caso particionando por nota fiscal :
http://askanantha.blogspot.com.br/2007/10/running-total-or-cumulative-sum-us
ing.html e
http://asktom.oracle.com/pls/asktom/f?p=100:11:0P11_QUESTION_ID:17937641
00346222947 são exemplos, e veja que em ambos além do OVER foi indicado um
PARTITION, acho que é isso q tá faltando

[]s

Chiappa

--- Em oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br
, Márcio - Grupos Oracle marcio_cbj@... escreveu

 Boas.
 
 
 
 Depois de tanto tempo sem desenvolver, enferrujei total.
 
 
 
 Preciso de ajuda numa consulta, é o seguinte, tenho as informações e tenho
 um campo que tem o valor total da nota, e tenho outro campo que tem o ICMS
 para cada item da nota. Eu preciso somar o valor do ICMS e descontar do
 total da nota. Para uma nota funciona, mas quando coloco para todas o
select
 fica doidão.
 
 
 
 Estou tentando utilizar o OVER, mas não estão agrupando por nada e está
 dando erro.
 
 
 
 SELECT dbnp.db_notap_nro AS NOTA,
 
 round(DBNF.DB_NOTA_VLR_PROD,2) +
 sum(round(dbnp.db_notap_vlr_icms,2)) OVER(ORDER BY dbnp.db_notap_nro)
 Valor Sem Tributação, 
 
 round(DBNF.DB_NOTA_VLR_PROD,2) AS Valor Total Nota,
 
 dbnf.db_nota_cond_pgto AS Pagamento,
 
 dbnf.db_nota_operacao AS Natureza Operação,
 
 DBNF.DB_NOTA_DT_EMISSAO,
 
 dbc.db_cli_nome AS Cliente,
 
 dbc.db_cli_cidade AS Cidade,
 
 dbc.db_cli_situacao AS Situaçao,
 
 dbc.db_cli_lpreco AS Lista de Preço,
 
 dbc.db_cli_regiao AS Micro Região,
 
 dbp.db_prod_descricao AS Produto,
 
 dbtr.db_tbrep_nome AS Representante,
 
 dbtrs.db_tbrep_nome AS Superior,
 
 dbtf.db_tbfam_descricao AS Categoria do Produto,
 
 dbtra.db_tbatv_descricao AS Ramo Atividade,
 
 case when dbto.db_tbops_fat = 'S' then 'Venda'
 
 when dbto.db_tbops_fat = 'B' then 'Bonificação'
 
 when dbto.db_tbops_fat = 'D' then 'Devolução'
 
 when dbto.db_tbops_fat = 'N' then 'Outras Saídas'
 
 else 'Transferência'
 
 end AS Tipo Nota
 
 FROM xxx.DB_NOTA_PROD DBNP, xx.db_nota_fiscal dbnf, xx.db_cliente dbc,
 xx.db_produto dbp,
 
 xx.db_tb_repres dbtr, xx.db_tb_repres dbtrs, xx.db_tb_familia dbtf,
 
 xx.db_tb_ramo_ativ dbtra, xx.db_tb_opers dbto
 
 WHERE dbnp.db_notap_empresa = '016'
 
 AND DBNP.DB_NOTAP_EMPRESA = dbnf.db_nota_empresa
 
 AND DBNP.DB_NOTAP_NRO = DBNF.db_nota_nro
 
 AND DBNP.DB_NOTAP_SERIE = DBNF.DB_NOTA_SERIE
 
 AND DBC.DB_CLI_CODIGO = DBNF.DB_NOTA_CLIENTE
 
 AND DBNP.DB_NOTAP_PRODUTO = DBP.DB_PROD_CODIGO
 
 AND DBNF.DB_NOTA_REPRES = DBTR.DB_TBREP_CODIGO
 
 AND dbtr.db_tbrep_superior = dbtrs.db_tbrep_codigo
 
 AND DBP.DB_PROD_FAMILIA = DBTF.DB_TBFAM_CODIGO
 
 AND DBNF.DB_NOTA_OPERACAO = DBTO.DB_TBOPS_COD
 
 and dbc.db_cli_ramativ = dbtra.db_tbatv_codigo
 
 AND DBNF.DB_NOTA_DT_EMISSAO BETWEEN '02-JAN-2012' AND '02-JAN-2012'
 
 --AND DBNP.DB_NOTAP_NRO = 11727
 
 --AND DBNP.DB_NOTAP_SERIE = 'D00'
 
 /*group by dbnp.db_notap_nro,
 
 DBNF.DB_NOTA_VLR_PROD,
 
 dbnf.db_nota_cond_pgto,
 
 dbnf.db_nota_operacao,
 
 DBNF.DB_NOTA_DT_EMISSAO,
 
 dbc.db_cli_nome,
 
 dbc.db_cli_cidade,
 
 dbc.db_cli_situacao,
 
 dbc.db_cli_lpreco,
 
 dbc.db_cli_regiao,
 
 dbp.db_prod_descricao,
 
 dbtr.db_tbrep_nome,
 
 dbtrs.db_tbrep_nome,
 
 dbtf.db_tbfam_descricao,
 
 dbtra.db_tbatv_descricao,
 
 dbto.db_tbops_fat*/
 
 
 
 [As partes desta mensagem que não continham texto foram removidas]






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



Re: [oracle_br] Re: RES: Alterar valores NLS_DATABASE_PARAMETERS

2012-06-20 Por tôpico Reginaldo Figueredo
Amigos,

Boa Tarde,

Primeiramente muito obrigado pelo apoio de todos e desculpe a falta de detalhes 
na explicação.
Ainda não consegui resolver o problema e descobrimos que o problema não está na 
parametrização do nls_database_parameters.

Trocando em miúdos, o que está acontecendo é o seguinte.
Temos 148 computadores que utilizam o nosso sistema em powerbuilder.
Apenas em 2 deles, o servidor de homologação outro computador qualquer daqui 
estão com problema.
Problema: Toda vez que digitamos por exemplo: 2,5 em algum campo decimal no 
sistema, o mesmo altera o valor para 250, ou seja, o valor está sempre sendo 
multiplicado por 100.

Alguém já passou por este problema ?

att,

Reginaldo Figueredo



 De: J. Laurindo Chiappa jlchia...@yahoo.com.br
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Terça-feira, 19 de Junho de 2012 16:45
Assunto: [oracle_br] Re: RES: Alterar valores NLS_DATABASE_PARAMETERS
 

  
Exato, Milton. Reginaldo, não só para poder te dar uma resposta decente 
precisamos não só saber EXATAMENTE o que vc quer mudar, mas PRECISAMOS também 
da versão COMPLETA e EXATA do database (com 4 dígitos e incluindo a Edição), 
precisamos saber o Sistema Operacional (alguns procedimentos mudam dependendo 
do SO), e o ** MAIS IMPORTANTE ** : nós Precisamos Saber o porque vc quer mudar 
(qual o objetivo, se é fazer com que alguma tool/aplicação client mude a 
linguagem, se o objetivo é mudar comportamento dalguma tool de admin do 
database, qual é a tool/aplicação, etc) E também saber um pouco do seu ambiente 
(se é web, client-server)  
Estes últimos pontos são crucialmente Importantes, pois :

a. o setting NLS das sessões SOBREPõE o setting do database (os NLSs do 
database tem que ser entendidos como um DEFAULT, que só é aplicado se o Client 
não especificar nada) : assim, talvez uma simples alteração no client, ou mesmo 
um ALTER SESSION, obtenha o efeito desejado - portanto, plz Explique qual é o 
efeito desejado

b. se for Windows o SO, em alguns casos uma simples alteração no Registry pode 
solucionar, dependendo dos detalhes acima todos (o que vc quer alterar, onde 
quer alterar, pra que quer alterar, etc)

c. sendo realmente AMERICA (ie, Inglês norte-americano) o setting NLS desejado, 
por ser essa a linguagem-base no RDBMS Oracle, ela sempre está presente, os 
arquivos e DLLs/libraries/etc referentes à ela sempre são instalados, não 
demandando assim adição/recriação de arquivos no servidor  - as opções de 
alteração que não demandam mudança do database portanto passam a poder ser Bem 
consideradas

[]s


Chiappa


--- Em oracle_br@yahoogrupos.com.br, Milton Bastos Henriquis Jr. 
miltonbastos@... escreveu

 Reginaldo, o grupo não aceita anexos, por isso ninguém recebeu o tal PDF.
 
 Vc precisa descrever aqui por texto mesmo.
 O mínimo que vc poderia fazer era dizer a versão exata do teu Database... e
 depois, claro, explicar o que que vc quer alterar.
 
 
 
 
 2012/6/19 Reginaldo Figueredo regirj@...
 
  **
 
 
  PessoALL,
 
  Primeiramente obrigado pelo apoio.
  Para me explicar melhor estou enviando um PDF direcionando o que eu
  preciso.
  No servidor de Homologação está em Brazilian e precisa mudar para American
  de acordo com a imagem no PDF.
  O CSAlter resolveria o meu problema ?
 
  Obrigado,
 
  att,
 
  Reginaldo
 
  
  De: ederson2001br ederson2001br@...
  Para: oracle_br@yahoogrupos.com.br
  Enviadas: Terça-feira, 19 de Junho de 2012 14:38
  Assunto: [oracle_br] RES: Alterar valores NLS_DATABASE_PARAMETERS
 
 
 
 
  A todos,
 
  Enviei o email em resposta à questão, mas tive um travamento aqui e não
  sei se foi uma ou duas vezes, já que me pareceu que o YahooGroups demorou a
  publicar a minha mensagem.
  Desculpe se ficou duplicado, desconsiderem minha resposta pois a do
  Chiappa ficou bem mais completa.
 
  Ederson Elias
  DBA Oracle
  http://br.linkedin.com/pub/ederson-elias/24/8b/8b0
 
  --- Em oracle_br@yahoogrupos.com.br, J. Laurindo Chiappa jlchiappa@
  escreveu
  
   Pedro, na verdade nas versões mais recentes do database vc ABSOLUTAMENTE
  consegue sim alterar o characterset sem recriar, se os characterset destino
  contiver todos os characters do origem, ie, se for um superset - recriar
  banco para alterar characterset é algo do tempo do onça, que eventualmente
  em raros casos PODE ser necessário, principalmente se Realmente não houver
  nenhum superset disponível do set atualmente em uso, mas de forma nenhuma é
  Obrigatório, absolutamente não é algo que não dá pra fazer sem :
  http://mohamedazar.com/2010/05/18/character-set-migration-oracle-11g/ ,
  http://www.oracle-base.com/articles/10g/character-set-migration.phpexemplifica
   pro 10g, okdoc ?? Isso se ** REALMENTE ** for chset a alteração
  misteriosa que o colega lá quer fazer na NLS_DATABASE_PARAMETER -
  verdade, muitas delas é, como eu disse, só alterar parãmetros, mas outras
  não...
   Agora, pensando um pouco em cima : ** talvez ** o 

[oracle_br] Re: RES: Alterar valores NLS_DATABASE_PARAMETERS

2012-06-20 Por tôpico J. Laurindo Chiappa
  Bem, comprovou-se que não é questão de database - embora o Grupo seja 
especializado em database, frequentemente pessoas que desenvolvem também passam 
por aqui...
 O problema em si clarificou um pouco, já não estamos tão no escuro, mas vc *** 
AINDA *** não deu alguns detalhes importantes - entre outros, vc NÂO diz a 
arquitetura (se é client/server ou WEB), NÃO dá a versão Exata de NADA (nem do 
Powerbuilder, nem do database, nem dos Sistemas Operacionais aonde estão o 
database, a aplicação e as máquinas clientes), NÃO diz se a conexão é via ODBC, 
OLEDB ou o que), qual o DRIVER ODBC usado (se da M$ ou da Oracle), NÃO fala um 
'a' sobre o seu ambiente de modo geral (se há webserver, se há software de 
comunicação/terminal entre as máquinas-clientes e o banco), etc 

 Todas essas infos seriam importantes pra quem conhece Powerbuilder pode 
palpitar, porém mesmo não sendo bem o meu caso (atuo principalmente como DBA, 
não desenvolvo muita coisa hoje em dia), vou  CHUTAR  e assumir que a 
sua Aplicação é client/server, que a conexão com o database é via ODBC, que o 
SO nas máquinas-clientes é Windows e que não há nenhum terminal server/software 
de comunicação a mais entre as máquinas clientes e a aplicação e o database 
 Nesse cenário, alguns palpites :

 a. muitos drivers ODBC levam em conta o LOCALE das máquinas (ie, a linguagem, 
a formatação de valores/números e os demais regional settings) do SO - Compare 
os regional settings de uma máquina que funciona com essas que não

 b. drivers ODBC *** necessariamente *** são Incapazes de conectar diretamente 
no database, eles Montam em cima de um software Oracle client instalado na 
máquina : Compare as variáveis / settings de Oracle Client de uma máquina que 
funciona com essas que não ... Sendo Windows o SO, isso fica no registry, em 
LOCAL MACHINE/SOFTWARE / ORACLE / diretoriodoclient 

 c. eu me lembro vagamente que o Powerbuilder tem configurações próprias que 
podem ser setadas, era um arquivo tipo pbxxx.exe.config  , ou algo do tipo : 
Cheque com algum Expert em pb exatamente onde isso fica e COMPARE a config de 
uma máquina que funciona com essas que não...

 d.  A versão do runtime - dos componentes mínimos que a máquina-cliente 
precisa ter pra rodar uma app powerbuilder, na verdade - pode intrerferir, 
Compare se é a mesma entre as máquinas

 []s

   Chiappa


--- Em oracle_br@yahoogrupos.com.br, Reginaldo Figueredo regirj@... escreveu

 Amigos,
 
 Boa Tarde,
 
 Primeiramente muito obrigado pelo apoio de todos e desculpe a falta de 
 detalhes na explicação.
 Ainda não consegui resolver o problema e descobrimos que o problema não está 
 na parametrização do nls_database_parameters.
 
 Trocando em miúdos, o que está acontecendo é o seguinte.
 Temos 148 computadores que utilizam o nosso sistema em powerbuilder.
 Apenas em 2 deles, o servidor de homologação outro computador qualquer daqui 
 estão com problema.
 Problema: Toda vez que digitamos por exemplo: 2,5 em algum campo decimal no 
 sistema, o mesmo altera o valor para 250, ou seja, o valor está sempre sendo 
 multiplicado por 100.
 
 Alguém já passou por este problema ?
 
 att,
 
 Reginaldo Figueredo
 
 
 
  De: J. Laurindo Chiappa jlchiappa@...
 Para: oracle_br@yahoogrupos.com.br 
 Enviadas: Terça-feira, 19 de Junho de 2012 16:45
 Assunto: [oracle_br] Re: RES: Alterar valores NLS_DATABASE_PARAMETERS
  
 
   
 Exato, Milton. Reginaldo, não só para poder te dar uma resposta decente 
 precisamos não só saber EXATAMENTE o que vc quer mudar, mas PRECISAMOS também 
 da versão COMPLETA e EXATA do database (com 4 dígitos e incluindo a Edição), 
 precisamos saber o Sistema Operacional (alguns procedimentos mudam dependendo 
 do SO), e o ** MAIS IMPORTANTE ** : nós Precisamos Saber o porque vc quer 
 mudar (qual o objetivo, se é fazer com que alguma tool/aplicação client mude 
 a linguagem, se o objetivo é mudar comportamento dalguma tool de admin do 
 database, qual é a tool/aplicação, etc) E também saber um pouco do seu 
 ambiente (se é web, client-server)  
 Estes últimos pontos são crucialmente Importantes, pois :
 
 a. o setting NLS das sessões SOBREPõE o setting do database (os NLSs do 
 database tem que ser entendidos como um DEFAULT, que só é aplicado se o 
 Client não especificar nada) : assim, talvez uma simples alteração no client, 
 ou mesmo um ALTER SESSION, obtenha o efeito desejado - portanto, plz Explique 
 qual é o efeito desejado
 
 b. se for Windows o SO, em alguns casos uma simples alteração no Registry 
 pode solucionar, dependendo dos detalhes acima todos (o que vc quer alterar, 
 onde quer alterar, pra que quer alterar, etc)
 
 c. sendo realmente AMERICA (ie, Inglês norte-americano) o setting NLS 
 desejado, por ser essa a linguagem-base no RDBMS Oracle, ela sempre está 
 presente, os arquivos e DLLs/libraries/etc referentes à ela sempre são 
 instalados, não demandando assim adição/recriação de arquivos no servidor  - 
 as 

Re: [oracle_br] Mascarar Dados

2012-06-20 Por tôpico Milton Bastos Henriquis Jr.
Pesquise por Oracle Data Masking.




2012/6/20 Jales Jose Moraes malphig...@yahoo.com.br

 **


 Pessoal preciso levar algumas tabelas do banco de produção para o de
 desenvolvimento. Acontece que preciso no ato do dblink (ou após) mascarar
 os dados (menos a pk). É possível fazer o procedimento no oracle? Seria
 através de alguma função ou algo no sentido?

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

  




-- 
Att,


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





--
Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos

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

* Para sair deste grupo, envie um e-mail para:
oracle_br-unsubscr...@yahoogrupos.com.br

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