Re: [oracle_br] Ajuda Select
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
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
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
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
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