समस्या यह है कि पहला कॉलम एक संख्यात्मक डेटा प्रकार है, लेकिन आपका तैयार कथन एक स्ट्रिंग/VARCHAR डेटा प्रकार सबमिट कर रहा है। कथन इस प्रकार चलाया जाता है, अनुक्रम मान प्राप्त करने के लिए Oracle के लिए आपके अगले उपयोग के उपयोग को परिवर्तित करने का कोई अवसर नहीं है।
यहां जावा के रेडीस्टेडमेंट सिंटैक्स के माध्यम से एक विकल्प दिया गया है:
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 एक मौजूदा क्रम है -- सूट में बदलाव।