Javaを使用してOracle 11gにレコードを挿入しようとしています。私はまだJavaを学んでいます。Javaを使用したストアドプロシージャによるOracle JDBCの挿入
レコードを挿入するためにストアドプロシージャを呼び出す必要があります。ユーザーテーブルの私の主キーはuser_idです。私もuser_idで2をインクリメントしたシーケンスを持っています
入力パラメータをJavaで設定していますが、user_idに渡す必要があるのは何ですか?また、どのような日付のparamの場合のタイプのようになります。
Users:user_id number (primary key), email varchar, created_date Date
私は、Javaコードの下にきた:
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
@Mike答えはいいえ。私は数分前に試しました。 :( – xuanyuanzhiyuan