[oracle_br] ORA-01861: literal does not match format string

2015-02-03 Por tôpico 'Ednilson Silva' ednilson.si...@jbs.com.br [oracle_br]
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

2015-02-03 Por tôpico Gustavo Guedes guedescomputa...@gmail.com [oracle_br]
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

2015-02-03 Por tôpico jlchia...@yahoo.com.br [oracle_br]
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

2015-02-03 Por tôpico jlchia...@yahoo.com.br [oracle_br]
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

2015-02-03 Por tôpico Emerson Sanches emerson.sanc...@gmail.com [oracle_br]
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

2015-02-03 Por tôpico Evandro Giachetto evandrogiache...@gmail.com [oracle_br]
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

2015-02-03 Por tôpico Emerson Sanches emerson.sanc...@gmail.com [oracle_br]
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