Update com subselect, com erro ORA-00936

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Qua, 15 Ago 2012 10:32 am

Olá pessoal, boa noite a todos!

Estou tentando realizar o update abaixo, mas não roda e exibi o erro ORA-00936, porém se eu rodar somente o select não dá erro, estou enviando a query abaixo. Agradeço pela ajuda.


UPDATE se2010
SET e2_datalib = '20120814',
e2_usualib = 'Administrador',
e2_baixa = '20120814',
e2_saldo = '0',
e2_valliq = e2_valor,
e2_hist = 'MSG.'
WHERE (SELECT * FROM se2010, sed010
WHERE e2_saldo > 0
AND se2010.e2_filial = '01'
AND se2010.d_e_l_e_t_ = ' '
AND e2_exig <> 'N'
AND e2_naturez <> '2603'
AND e2_tipo NOT IN ('NDF', 'ADV')
AND sed010.d_e_l_e_t_ = ' '
AND sed010.ed_filial = '01'
AND e2_tipo <> 'PA'
AND e2_vencto <= '20111227'
AND e2_naturez = ed_codigo)

Muito obrigado,

Márcio Souza
Marcio Souza
Localização: RJ

Márcio Souza

Mensagemem Qua, 15 Ago 2012 11:55 am

Brother,

Não tenho como rodar aqui...
Veja se tem o mesmo efeito:
Código: Selecionar todos
UPDATE se2010
   SET e2_datalib = '20120814',
       e2_usualib = 'Administrador',
       e2_baixa   = '20120814',
       e2_saldo   = '0',
       e2_valliq  = e2_valor,
       e2_hist    = 'MSG.'
WHERE
     AND e2_saldo > 0
     AND e2_exig <> 'N'
     AND e2_naturez <> '2603'
     AND e2_tipo NOT IN ('NDF', 'ADV')
     AND e2_tipo <> 'PA'
     AND e2_vencto <= '20111227'
     AND EXISTS (SELECT 1
                   FROM sed010 e1
                  WHERE e1.e2_filial = '01'
                    AND se2010.e2_naturez = e1.ed_codigo
                    AND e1.d_e_l_e_t_ = ' '
                    AND e1.d_e_l_e_t_ = ' '
                    AND e1.ed_filial = '01')
Trevisolli
Localização: Araraquara - SP

Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Mensagemem Qua, 15 Ago 2012 1:46 pm

Fala Trevisolli,

Apresentou o mesmo problema, sinistro...

Obrigado hein!
Marcio Souza
Localização: RJ

Márcio Souza

Mensagemem Qua, 15 Ago 2012 2:58 pm

Desculpae,
Na hora de colar, colei de uma aba errada (tinha um AND a mais):
Código: Selecionar todos
UPDATE se2010
   SET e2_datalib = '20120814',
       e2_usualib = 'Administrador',
       e2_baixa   = '20120814',
       e2_saldo   = '0',
       e2_valliq  = e2_valor,
       e2_hist    = 'MSG.'
WHERE e2_saldo > 0
     AND e2_exig <> 'N'
     AND e2_naturez <> '2603'
     AND e2_tipo NOT IN ('NDF', 'ADV')
     AND e2_tipo <> 'PA'
     AND e2_vencto <= '20111227'
     AND EXISTS (SELECT 1
                   FROM sed010 e1
                  WHERE e1.e2_filial = '01'
                    AND se2010.e2_naturez = e1.ed_codigo
                    AND e1.d_e_l_e_t_ = ' '
                    AND e1.d_e_l_e_t_ = ' '
                    AND e1.ed_filial = '01')
Trevisolli
Localização: Araraquara - SP

Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP


  • Veja também
    Respostas
    ExibiÇões
    Última mensagem


Voltar para SQL

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes