Oracle
 sql >> база данни >  >> RDS >> Oracle

.nextval проблем с вмъкване на JDBC

Проблемът е, че първата колона е числов тип данни, но подготвеното ви изявление изпраща тип данни низ/VARCHAR. Изявлението се изпълнява както е, няма възможност Oracle да преобразува вашата употреба на nextval, за да получи стойността на последователността.

Ето алтернатива чрез синтаксиса PreparedStatement на Java:

sql = "INSERT INTO USER 
        (USER_PK, ACCOUNTNUMBER, FIRSTNAME, LASTNAME, EMAIL ) 
       VALUES 
        (user.nextval, ?, ?, ?, ?)";
ps = conn.prepareStatement(sql);
ps.setString(1, accountNumber);
ps.setString(2, firstName);
ps.setString(3, lastName);
ps.setString(4, email);

Това предполага, че user е съществуваща последователност -- променете според нуждите.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 начина да форматирате резултатите от заявката си в SQLcl (Oracle)

  2. oracle - конвертирайте много формати за дата в една форматирана дата

  3. Как да форматирате число като валута в Oracle

  4. Oracle RAC VIP и ARP Primer

  5. Достъп до таблицата на друг потребител в рамките на съхранена процедура на Oracle