Re: [oracle_br] Ajuda Select

2007-03-02 Por tôpico Srgio Yuassa \(FUSAN\)
select id_tipo
  from tabela
 where id_equipe in(2,52)
minus
select id_tipo
  from tabela
 where id_equipe not in(2,52)



  -Mensagem Original- 
  De: Daniel Mello 
  Para: oracle_br@yahoogrupos.com.br 
  Enviada em: sexta-feira, 2 de março de 2007 11:04
  Assunto: [oracle_br] Ajuda Select




  Pessoal
  como posso fazer com que minha consulta retone somente o id 3 nesse caso?

  ID_TIPO ID_EQUIPE

  3 2

  3 52

  4 2

  4 30

  4 52

  5 52

  5 53

  Irei passar como parâmetro pra esta tabela somente os valores 2 e
  52, tenho que retornar somente o ID_TIPO que se enquadra perfeitamente aos 
meus
  parâmetros, neste caso seria o ID_TIPO 3... Fazendo o in(2,52) ele me retorna
  todos os ID_TIPO

  Existe alguma maneira?

  Obrigado.

  Att,

  Daniel Mello

  __
  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]



   

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



Re: [oracle_br] Duvida sobre utilizar inner join ou Where

2007-02-07 Por tôpico Srgio Yuassa \(FUSAN\)
A Oracle era uma das únicas que ainda não tinha o padrão Ansi 92(acho que é 
essa a versão),
utilizando o join. A partir da versão 9, ela implementou esse padrão.

Vc utilizando o outer join antigo(+), por exemplo, não conseguia fazer um full 
outer join
(aquela condição que vc pode ter null em uma tabela e/ou null em outra e vc 
quer trazer os dados
de ambas, mesmo que seja null).

E se vc tivesse mais de 1 coluna na condição where, teria que ir colocando o 
(+) em cada um.

No começo eu só conhecia o join do Oracle, e algumas vezes fiz o join no Visual 
Fox ou no Access, mas
ainda não entendia como funcionava.

Depois da versão 9 do Oracle, resolvi que iria aprender. Realmente no começo 
parece mais difícil,
mas depois vc nota que ele dá mais um pouco de trabalho para escrever as 
cláusulas, mas é MUITO mais
flexível e vc consegue fazer coisas com ele que com o (+) não conseguiria.

Sobre a questão da performance não sei como ficou, mas num curso do Oracle o 
professor disse que
seriam equivalentes.

Então hoje eu faço tudo com o Ansi 92, mesmo que seja com um inner join, pois 
se for para mudar
para outer join é fácil de mudar. Além do que, os outros BD usam assim. Se for 
para vc portar para
outro BD, basta mudar pouca coisa.



  -Mensagem Original- 
  De: pso_ura 
  Para: oracle_br@yahoogrupos.com.br 
  Enviada em: terça-feira, 6 de fevereiro de 2007 19:14
  Assunto: [oracle_br] Duvida sobre utilizar inner join ou Where


  Lista

  Gostaria de saber qual a melhor maneira de se montar uma
  select.

  Utilizar o inner join ou a clausula Where.

  Exemplo

  SELECT 
  Eo.Curso, Eo.Curriculo, Eo.Oferta, EO.Etapa, Eo.Inicio,
  termino, inicio, ano_inicio, Mes_termino, Ano_termino, 
  NR_parcelas,OP.Polo
  FROM 
  etapas_ofertas EO inner join ofertas_polos OP ON 
  (EO.curso = OP.curso AND Eo.Curriculo = OP.Curriculo AND 
  EO.Oferta = OP.oferta)

  eu usaria

  SELECT 
  Eo.Curso, Eo.Curriculo, Eo.Oferta, EO.Etapa, Eo.Inicio,
  termino, inicio, ano_inicio, Mes_termino, Ano_termino, 
  NR_parcelas,OP.Polo
  FROM 
  etapas_ofertas EO 
  ofertas_polos OP ON 
  where
  EO.curso = OP.curso AND 
  Eo.Curriculo = OP.Curriculo AND 
  EO.Oferta = OP.oferta

  Qual o melhor?

  Ja tive experiencias com o ACCESS acessando o Oracle, tivemos que 
  mudar tudo.

  Grato



   

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



[oracle_br] Import de um dmp full

2007-01-31 Por tôpico Srgio Yuassa \(FUSAN\)
Galera, tenho o Oracle 9.2.0.1 e fiz um export full. O export ocorre sem erros.
Estou querendo importar as tabelas de um Schema(Produção) para outro 
Schema(Desenvolvimento) recém criado.
Porém no import estava dando erro de OID, pois tenho alguns tipos criados no 
Schema Produção
e quando ele tentava criar outro no Desenvolvimento dava erro ORA-02304.
Pensei que poderia ser o tamanho do meu dump(estava em +- 10Gb), aí coloquei o 
parâmetro filesize
no export para 1Gb e agora está criando arquivos de 1Gb, mas não deu certo.
Então criei os tipos do Produção para o Desenvolvimento, e coloquei o 
TOID_NOVALIDATE no import.
Ele pula a criação dos tipos, mas ainda não está importando os dados.

Este é o comando import(já tentei tirar tb o parâmetro buffer e filesize)
imp file=.\full01.dmp, .\full02.dmp,..
log=rest_fusandes.log
fromuser=fusan_prod
touser=fusan_des toid_novalidate=fusan_des.CONCILIACAO_TYPE,
buffer=32768
ignore=yes
rows=y
feedback=5000
filesize=1024MB


Aqui é o Log:

Connected to: Oracle9i Release 9.2.0.1.0 - Production
JServer Release 9.2.0.1.0 - Production

Export file created by EXPORT:V09.02.00 via conventional path
import done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
. importing FUSAN_PROD's objects into FUSAN_DES
. . skipping TOID validation on type FUSAN_DES.CONCILIACAO_TYPE
...Aqui mostra que está pulando a validação dos outros tipos e PARA a 
execução.


Quando eu faço um export somente do meu Schema Produção e o importo dá certo, 
mas tentando
importar do DMP full não dá. Aqui tenho mais um agravante pois devo voltar a 
posição do dia 04/01/2007,
e nesse dia só fiz o full.
Será que vou ter que criar outro Database? Procurei no ASK TOM e ele recomenda 
recriar
todos os tipos em outro schema e fazer sinônimos para eles. Mas aí eu teria que 
recriar novamente
as tabelas, procedimentos, views, etc que estivessem usando esses tipos

Obrigado.



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



Re: Re:[oracle_br] Import de um dmp full

2007-01-31 Por tôpico Srgio Yuassa \(FUSAN\)
Bom dia André.
Obrigado pela resposta, porém ocorre a mesma coisa.
Agora estou criando um indexfile para criar os objetos e tentar importá-los 
depois.



  -Mensagem Original- 
  De: Andre Campos 
  Para: oracle_br 
  Enviada em: quarta-feira, 31 de janeiro de 2007 09:08
  Assunto: Re:[oracle_br] Import de um dmp full


  Bom dia Sergio,

  Com certeza o problema ai não é o tamanho do seu dump, pois já fiz imports 
com dumps de mais de 50 GB sem problemas.
  Tente fazer um import somente da estrutura (rows=n) veja se ficou algum 
objeto invalido, caso sim compile e depois tente fazer o import dos dados.

  Abraço..

  André Campos

  -- Início da mensagem original ---

  De: oracle_br@yahoogrupos.com.br
  Para: oracle_br@yahoogrupos.com.br
  Cc: 
  Data: Wed, 31 Jan 2007 08:26:39 -0300
  Assunto: [oracle_br] Import de um dmp full

   Galera, tenho o Oracle 9.2.0.1 e fiz um export full. O export ocorre sem 
erros.
   Estou querendo importar as tabelas de um Schema(Produção) para outro 
Schema(Desenvolvimento) recém criado.
   Porém no import estava dando erro de OID, pois tenho alguns tipos criados 
no Schema Produção
   e quando ele tentava criar outro no Desenvolvimento dava erro ORA-02304.
   Pensei que poderia ser o tamanho do meu dump(estava em +- 10Gb), aí 
coloquei o parâmetro filesize
   no export para 1Gb e agora está criando arquivos de 1Gb, mas não deu certo.
   Então criei os tipos do Produção para o Desenvolvimento, e coloquei o 
TOID_NOVALIDATE no import.
   Ele pula a criação dos tipos, mas ainda não está importando os dados.
   
   Este é o comando import(já tentei tirar tb o parâmetro buffer e filesize)
   imp file=.\full01.dmp, .\full02.dmp,..
   log=rest_fusandes.log
   fromuser=fusan_prod
   touser=fusan_des toid_novalidate=fusan_des.CONCILIACAO_TYPE,
   buffer=32768
   ignore=yes
   rows=y
   feedback=5000
   filesize=1024MB
   
   
   Aqui é o Log:
   
   Connected to: Oracle9i Release 9.2.0.1.0 - Production
   JServer Release 9.2.0.1.0 - Production
   
   Export file created by EXPORT:V09.02.00 via conventional path
   import done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
   . importing FUSAN_PROD's objects into FUSAN_DES
   . . skipping TOID validation on type FUSAN_DES.CONCILIACAO_TYPE
   ...Aqui mostra que está pulando a validação dos outros tipos e PARA 
a execução.
   
   
   Quando eu faço um export somente do meu Schema Produção e o importo dá 
certo, mas tentando
   importar do DMP full não dá. Aqui tenho mais um agravante pois devo voltar 
a posição do dia 04/01/2007,
   e nesse dia só fiz o full.
   Será que vou ter que criar outro Database? Procurei no ASK TOM e ele 
recomenda recriar
   todos os tipos em outro schema e fazer sinônimos para eles. Mas aí eu teria 
que recriar novamente
   as tabelas, procedimentos, views, etc que estivessem usando esses tipos
   
   Obrigado.
   
   
   
   [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] Problema com campos

2006-06-14 Por tôpico Srgio Yuassa \(FUSAN\)
REQUISIÇÃO
cod_req | descricao   | cod_os
100 | 'REQUISICAO TESTE1' |1
200 | 'REQUISICAO TESTE1' |1

OS
cod_os | descricao | origem
  1| 'OS AGR'  |   1
  1| 'OS IND'  |   2


Fazendo um produto cartesiano:

cod_req | descricao   | cod_os  | cod_os | descricao | origem
100 | 'REQUISICAO TESTE1' |1|   1| 'OS AGR'  |   1
100 | 'REQUISICAO TESTE1' |1|   1| 'OS IND'  |   2
200 | 'REQUISICAO TESTE1' |1|   1| 'OS AGR'  |   1
200 | 'REQUISICAO TESTE1' |1|   1| 'OS IND'  |   2

Aplicando o teu where:
WHERE  A.COD_OS= B.COD_OS AND B.ORIGEM = 2;

 
cod_req | descricao   | cod_os  | cod_os | descricao | origem
100 | 'REQUISICAO TESTE1' |1|   1| 'OS IND'  |   2
200 | 'REQUISICAO TESTE1' |1|   1| 'OS IND'  |   2

Aplicando o select:
SELECT  A.COD_REQ,A.DESCRICAO,A.COD_OS
(que na verdade é requisicao.cod_req, requisicao.descricao, requisicao.cod_os)

cod_req | descricao   | cod_os  
100 | 'REQUISICAO TESTE1' |1
200 | 'REQUISICAO TESTE1' |1

Para pegar somente 1 requisição, vc tem que fazer uma regra, pegando a primeira
ou a segunda requisição. Vc pode fazer isso com alguma função de agrupamento, 
como
o min(), max(), etc

Se fizer um min(cod_req), vai trazer somente a requisição 100

Mostrei isso só para dizer que vc tem 2 requisições para uma OS. Se vc quiser 
os dados
das requisições da OS 1, vai trazer todas as requisições dessa OS. Então vc 
deve decidir se
vai trazer a primeira requisição, a última, a do meio, sei lá.


  -Mensagem Original- 
  De: Luciano Santos 
  Para: oracle_br@yahoogrupos.com.br 
  Enviada em: 14 de junho de 2006 14:38
  Assunto: [oracle_br] Problema com campos


  Pessoal,



  Tenho a seguinte situação:



  Duas tabelas com a seguinte estrutura.





  Tabela requisição   COD_REQ NUMBER(3), DESCRICAO VARCHAR2(30), COD_OS 
NUMBER(3)

  Tabela os  COD_OS NUMBER(3), DESCRICAO VARCHAR2(30), ORIGEM 
NUMBER(3)



  Na tabela de requisição tenho uma PK na coluna COD_REQ  e na tabela de OS 
tenho uma PK na coluna COD_OS e ORIGEM.



  Inseri as seguintes linhas na tabela de OS :

  INSERT INTO OS VALUES (1,'OS AGR', 1);

  INSERT INTO OS VALUES (1,'OS IND', 2);



  Inseri na tabela de requisição as seguintes linhas:

  INSERT INTO REQUISICAO VALUES (100,'REQUISICAO TESTE1', 1);

  INSERT INTO REQUISICAO VALUES (200,'REQUISICAO TESTE1', 1);



  Depois que inseri essa linhas preciso filtrar todas as requisições que são da 
origem 2;



  SELECT  A.COD_REQ,A.DESCRICAO,A.COD_OS FROM REQUISICAO A, OS B WHERE

A.COD_OS= B.COD_OS AND B.ORIGEM = 2;



  COD_REQDESCRICAO  COD_OS ORIGEM

   ------ ----

   100 TESTE AGR   1  2

   200 TESTE IND 1  2



  Vejam que o select me trouxe as duas linhas como tendo a mesma OS com a mesma 
Origem e está correto, pois a condição na clausula where é verdadeira e eu não 
tenho o campo origem na tabela de requisicao, mas como posso resolver isso sem 
mudar a estrutura da tabela de Requisição, ou seja, o select só me retornar a 
linha referente a origem que desejo ?



  Obrigado

  ___



  Luciano Santos

  ___





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

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