java.sql.SQLException: ORA-06550: 第 1 行, 第 62 列: PLS-00103: 出現符號 "月"在須要下列之一時: ) , * &am...

java.sql.SQLException: ORA-06550: 第 1 行, 第 62 列: 
PLS-00103: 出現符號 "月"在須要下列之一時:
 ) , * & | = - + < / > at in
   is mod remainder not rem => .. <an exponent (**)>
   <> or != or ~= >= <= <> and or like LIKE2_ LIKE4_ LIKEC_
   between || member SUBMULTISET_
符號 "," 被替換爲 "月" 後繼續。
ORA-06550: 第 1 行, 第 93 列: 
PLS-00103: 出現符號 ","在須要下列之一時:
 ( - + case mod new not null
   others <an identifier> <a double-quoted delimited-identifier>
   <a bind variable> avg count current exists max min prior sql
   stddev sum variance execute forall 
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:110)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:171)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1030)
    at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:191)
    at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:944)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3381)
    at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3482)
    at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:3839)
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1085)
..............................
由於本身的一個小小的失誤被這個異常折騰了幾天,問題就出在程序中調用存儲過程的sql語句上:
sql = "{ call insert_user_to_all('"+ user.getUser_id() +"','"+ user.getUsername() +"','"+ user.getPassword() +"','"+ user.getSex() +"','"+ user.getBirthday() +"',"+ user.getPersonal_id() +",'"+ user.getIsmarry() +"',"+ user.getTel() +",'"+ user.getEmail() +"','"+ user.getIsrent() +"','"+ user.getCarplace_id() +"') }";
原來本身沒有在"+ user.getUser_id() +"的兩邊加上單引號:‘’!當存入number類型字段時能夠不加‘’,可是當存入字符串是必須得加‘’,不然報錯!java

相關文章
相關標籤/搜索