我試圖在Oracle 11g中使用Java插入記錄。我仍然在學習Java。使用Java通過存儲過程插入Oracle JDBC
我必須調用存儲過程來插入記錄。我在用戶表中的主鍵是user_id。我也有一個在user_id上加2的序列
現在,當在Java中設置輸入參數時,我需要在user_id中傳遞什麼?此外,這將是在Date參數的情況下,類型:我下面的Java代碼
Users:user_id number (primary key), email varchar, created_date Date
:
Class.forName("oracle.jdbc.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@101.12.11.11:1521:demo", "demo_app", "demo");
CallableStatement cs = conn.prepareCall("{exec demo.my_pkg.insert_users(?,?,?)}");
cs.registerOutParameter(1, Types.INTEGER);
cs.setInt(1, ?????);
cs.execute();
我是否需要設置USER_ID這裏?如果是的話,我應該怎麼做,因爲它的序列? 怎麼樣日期字段&電子郵件字段?
我需要registerOutParameter嗎?如果是這樣,爲什麼?
最後,我將如何得到插入成功的確認?
謝謝!
我可以直接傳遞序列作爲CallableStatement cs = conn.prepareCall(「{exec demo.my_pkg.insert_users(seq_users.nextval,?,?)}」); – Mike 2011-12-21 08:04:21
@Mike答案是否定的。我幾分鐘前嘗試過。 :( – xuanyuanzhiyuan 2011-12-21 09:21:37