1. データ追加手順をテストする
次のようにコードをコピーします。
public void testProcedure() {
接続 con = getConnction();
// **1. データを追加する手順をテストします。
文字列プロシージャ = "{call users_insert_proc(?,?,?,?) }";
CallableStatement cs = null;
試す {
cs = con.prepareCall(プロシージャ);
cs.setInt(1, 123450);
cs.setString(2, "xxiaox");
cs.setString(3, "Ww342864");
cs.setString(4, "[email protected]");
} キャッチ (SQLException e) {
e.printStackTrace();
}
試す {
cs.executeUpdate();
} キャッチ (SQLException e) {
e.printStackTrace();
}
}
2. データ削除手順をテストする
次のようにコードをコピーします。
public void testDelPro() {
接続 con = getConnction();
// **2. データの削除手順をテストします。
文字列プロシージャ = "{call delete_usersbyid_proc(?) }";
CallableStatement cs = null;
試す {
cs = con.prepareCall(プロシージャ);
cs.setInt(1, 123450);
} キャッチ (SQLException e) {
e.printStackTrace();
}
試す {
cs.executeUpdate();
} キャッチ (SQLException e) {
e.printStackTrace();
}
}
3. データ更新手順のテスト
次のようにコードをコピーします。
public void testDelPro() {
接続 con = getConnction();
// **3. データ更新手順をテストします。
文字列プロシージャ = "{call users_updatebyId_proc(?,?,?,?) }";
CallableStatement cs = null;
試す {
cs = con.prepareCall(プロシージャ);
cs.setInt(1, 101); cs.setString(2, "リトルサードパーティのハオ"); cs.setString(4, "[email protected]");
} キャッチ (SQLException e) {
e.printStackTrace();
}
試す {
cs.executeUpdate();
} キャッチ (SQLException e) {
e.printStackTrace();
}
}
4. データを見つける手順をテストする
a) パッケージ本体をビルドする
b) クエリプロシージャの作成
次のようにコードをコピーします。
パッケージ userspackage を作成または置き換えます
type users_cursor は参照カーソルです。
エンドユーザーパッケージ。
次のようにコードをコピーします。
プロシージャの作成または置換 users_packageAll(
s_id は数値、u_cursor は userspackage.users_cursor) です。
始める
s_id = 0の場合
u_cursor を開き、ユーザーから ID、名前、パスワード、電子メールを選択します。
それ以外
u_cursor を開いて、id=s_id のユーザーから ID、名前、パスワード、電子メールを選択します。
次の場合は終了します。
終わり;
c)Java呼び出し
次のようにコードをコピーします。
public void testDelPro() {
接続 con = getConnction();
//クエリプロシージャを返す
文字列プロシージャ = "{call users_packageAll(?,?) }";
CallableStatement cs = null;
試す {
cs = con.prepareCall(プロシージャ);
cs.setInt(1, 0);
cs.registerOutParameter(2, oracle.jdbc.OracleTypes.CURSOR);
} キャッチ (SQLException e) {
e.printStackTrace();
}
試す {
cs.execute();
ResultSet rs = (ResultSet)cs.getObject(2);
while (rs.next()) {
System.out.println(rs.getInt(1) + " " + rs.getString(2));
}
} キャッチ (SQLException e) {
e.printStackTrace();
}
}