Problemas com INSERT

1 resposta
S

Pessoal, estou com sérios problemas com inserção de datas no Oracle.
Primeiro obtive a mesma como uma string:

Ai, converti pra Date:

SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy"); java.sql.Date data = new java.sql.Date(format.parse(dataString).getTime());
Quando rodo a aplicação, vejo que o formato que ela me traz é:

Quando tento fazer a seguinte inserção no Oracle:

query = ("INSERT INTO TB_CONSULTA (data_consulta, tipo_atendimento, motivo, cpf, crn)" + " SELECT to_date('"+data+"', 'dd/mm/yyyy'), '"+tipo+"', '"+motivo+"', ref(C), ref(N) " + "FROM tb_paciente C, tb_nutricionista N " + "WHERE C.cpf = '"+cpf+"' and N.crn = '"+crn+"'");

Dá o seguinte erro:

Acho que é por conta da data, pois quando tento inserir forçando a data ser do tipo 18/10/2009, funciona corretamente.
Alguém pode me ajudar qnto a isso?
Agradeço desde já.

1 Resposta

T

Velho, sou leigo em Oracle.
Mas será que a instrução ai não precisa do VALUES entre os campos e valores passados.

Exemplo:

query = ("INSERT INTO TB_CONSULTA (data_consulta, tipo_atendimento, motivo, cpf, crn)" +  
                       " VALUES " +
                       " SELECT to_date('"+data+"', 'dd/mm/yyyy'), '"+tipo+"', '"+motivo+"', ref(C), ref(N) " +  
                       "FROM tb_paciente C, tb_nutricionista N " +  
                       "WHERE C.cpf = '"+cpf+"' and N.crn = '"+crn+"'");

Ou é PL/SQL ou está correta a instrução. Se estiver, melhor, pois assim, não resolvi seu problema, mas aprendi algo novo.! kkk
Até.

Criado 10 de junho de 2009
Ultima resposta 11 de jun. de 2009
Respostas 1
Participantes 2