[oracle_br] ORA-01861: literal does not match format string
Pessoal, Tenho um DBMS_JOB, que esta gerando o erro ORA-01861: literal does not match format string, mas se executar o mesmo manualmente (exec JOB_NAME;) vai sem problemas, alguém já viu isso? Grato, Ednilson
Re: [oracle_br] Re: Sub Query
Boa noite! Não que as outras soluções não funcionem. Mas eu daria e recomendaria fortemente a sugestão já dada por Chiappa... Pois é meio que a "essência", o conceito ou propósito de um banco de dados relacional: Simplesmente relacionar as tabelas desejadas, através dos devidos e respectivos campos-chave (FK's) das mesmas... E só. Neste caso, não precisa de sub-queries ou exists, etc. Só relacionar mesmo, e boa. Espero ter ajudado, abraços! Em 3 de fevereiro de 2015 17:24, jlchia...@yahoo.com.br [oracle_br] < oracle_br@yahoogrupos.com.br> escreveu: > > > Claro, se eu usei d como alias para a tabela de detalhes, d. deveria ser o > prefixo, substitua... > > []s > > Chiappa > > -- Atenciosamente, *Gustavo Guedes de Sene*
[oracle_br] Re: Sub Query
Claro, se eu usei d como alias para a tabela de detalhes, d. deveria ser o prefixo, substitua... []s Chiappa
[oracle_br] Re: Sub Query
Para que vc precisa de sub-query ??? Se Realmente NumNota, Serie, Fornecedor e TipoMovto é a PK ** e ** isso está Presente nas duas tabelas como Chave, por que vc não faz um JOIN entre as duas ?? Assim : SELECT colunasdesejadasTANTOdatabeladeNOTAquantodaITEM FROM Mestre m, Detalhe d WHERE m.NumNota= i.NumNota AND m.Serie = i.Serie AND m.Fornecedor = i.Fornecedor AND m.TipoMovto = i.TipoMovto AND d.Item = &v_item; []s Chiappa
Re: [oracle_br] Sub Query
Acho que voce matou Evandro. Só uma duvida, no 1 exemplo a sintaxe é where exists (select 1 from ou .where exists (select * from? Muito obrigado. Emerson Sanches Analista de Sistemas Em 3 de fevereiro de 2015 16:55, Evandro Giachetto evandrogiache...@gmail.com [oracle_br] escreveu: > > > Não sei se entendi muito bem sua dúvida, se não, peço desculpas. > > Tente algo do tipo: > > > Select * > from Mestre > where exists (select 1 from Detalhe > where Detalhe.NumNota = > Mestre.NumNota > and Detalhe.Serie = Mestre.Serie and Detalhe.Fornecedor = > Mestre.Fornecedor and Detalhe.TipoMovto = Mestre.TipoMovto and Detalhe.Item > = &item). > > Ou > > Select * > from Mestre > where (NumNota, Serie, Fornecedor, TipoMovto) in (select NumNota, Serie, > Fornecedor, TipoMovto from Detalhe where Item = &item); > > > Só lembrando. > > Por questão de performance. > > Se seu Subselect (select ... from Detalhe where Item = %Item) trouxer um > número pequeno de dados, então o segundo exemplo deve exectuar mais rápido. > > Se por ventura, este subselect trouxer um número muito grande de > resultados, então a primeira opção deve apresentar uma performance melhor. > > Se a quantidade de resultados for balanceada entre as duas queries, então > as duas opções devem mostrar performance semelhante. > > > Evandro Giachetto > Oracle DBA > evandrogiache...@gmail.com > > > Em 3 de fevereiro de 2015 16:41, Emerson Sanches emerson.sanc...@gmail.com > [oracle_br] escreveu: > > >> >> Bom tarde a todos do grupo. Em meu sistema tenho uma tabela de NF cuja >> chave primaria são os campos NumNota, Serie, Fornecedor, TipoMovto e outra >> tabela com os detalhes dessa nota com chave primaria composta por NumNota, >> Serie, Fornecedor, TipoMovto e Item. Ate tudo normalíssimo, acredito que >> todos tenham uma normalização desse tipo em seus sistemas. >> O problema é que meu chefe quer que eu faça uma pesquisa de notas >> fiscais, mas quer ter como parâmetro de busca o item da nota fiscal, ou >> seja, ele quer pesquisar pelo código de entrada do produto. Para resolver >> isso fiz um subquery assim: >> >> Select * >> from Mestre >> where Mestre.NumNota in (Select Detalhe.NumNota >> fromDetalhe >> where Detalhe.Item = &item) >> >> >> Essa solução funciona parcialmente, pois vai me trazer a nota do item >> pesquisado, mas também vai trazer a nota de outro fornecedor qualquer, que >> tenha uma nota com o mesmo numero cadastrado no sistema. Para resolver isso >> eu teria que passar no subquery todos o campos da PK da tabela Mestre, e é >> exatamente isso que não sei como fazer. Se alguém tiver alguma sugestão, >> todas serão bem vindas. >> >> Obrigado >> >> >> >> Emerson Sanches >> >> > >
Re: [oracle_br] Sub Query
Não sei se entendi muito bem sua dúvida, se não, peço desculpas. Tente algo do tipo: Select * from Mestre where exists (select 1 from Detalhe where Detalhe.NumNota = Mestre.NumNota and Detalhe.Serie = Mestre.Serie and Detalhe.Fornecedor = Mestre.Fornecedor and Detalhe.TipoMovto = Mestre.TipoMovto and Detalhe.Item = &item). Ou Select * from Mestre where (NumNota, Serie, Fornecedor, TipoMovto) in (select NumNota, Serie, Fornecedor, TipoMovto from Detalhe where Item = &item); Só lembrando. Por questão de performance. Se seu Subselect (select ... from Detalhe where Item = %Item) trouxer um número pequeno de dados, então o segundo exemplo deve exectuar mais rápido. Se por ventura, este subselect trouxer um número muito grande de resultados, então a primeira opção deve apresentar uma performance melhor. Se a quantidade de resultados for balanceada entre as duas queries, então as duas opções devem mostrar performance semelhante. Evandro Giachetto Oracle DBA evandrogiache...@gmail.com Em 3 de fevereiro de 2015 16:41, Emerson Sanches emerson.sanc...@gmail.com [oracle_br] escreveu: > > > Bom tarde a todos do grupo. Em meu sistema tenho uma tabela de NF cuja > chave primaria são os campos NumNota, Serie, Fornecedor, TipoMovto e outra > tabela com os detalhes dessa nota com chave primaria composta por NumNota, > Serie, Fornecedor, TipoMovto e Item. Ate tudo normalíssimo, acredito que > todos tenham uma normalização desse tipo em seus sistemas. > O problema é que meu chefe quer que eu faça uma pesquisa de notas fiscais, > mas quer ter como parâmetro de busca o item da nota fiscal, ou seja, ele > quer pesquisar pelo código de entrada do produto. Para resolver isso fiz um > subquery assim: > > Select * > from Mestre > where Mestre.NumNota in (Select Detalhe.NumNota > fromDetalhe > where Detalhe.Item = &item) > > > Essa solução funciona parcialmente, pois vai me trazer a nota do item > pesquisado, mas também vai trazer a nota de outro fornecedor qualquer, que > tenha uma nota com o mesmo numero cadastrado no sistema. Para resolver isso > eu teria que passar no subquery todos o campos da PK da tabela Mestre, e é > exatamente isso que não sei como fazer. Se alguém tiver alguma sugestão, > todas serão bem vindas. > > Obrigado > > > > Emerson Sanches > > >
[oracle_br] Sub Query
Bom tarde a todos do grupo. Em meu sistema tenho uma tabela de NF cuja chave primaria são os campos NumNota, Serie, Fornecedor, TipoMovto e outra tabela com os detalhes dessa nota com chave primaria composta por NumNota, Serie, Fornecedor, TipoMovto e Item. Ate tudo normalíssimo, acredito que todos tenham uma normalização desse tipo em seus sistemas. O problema é que meu chefe quer que eu faça uma pesquisa de notas fiscais, mas quer ter como parâmetro de busca o item da nota fiscal, ou seja, ele quer pesquisar pelo código de entrada do produto. Para resolver isso fiz um subquery assim: Select * from Mestre where Mestre.NumNota in (Select Detalhe.NumNota fromDetalhe where Detalhe.Item = &item) Essa solução funciona parcialmente, pois vai me trazer a nota do item pesquisado, mas também vai trazer a nota de outro fornecedor qualquer, que tenha uma nota com o mesmo numero cadastrado no sistema. Para resolver isso eu teria que passar no subquery todos o campos da PK da tabela Mestre, e é exatamente isso que não sei como fazer. Se alguém tiver alguma sugestão, todas serão bem vindas. Obrigado Emerson Sanches