プロシージャの代わりに関数を記述するとコンパイルされました。JavaのWebサービスを使用してデータベースに挿入
CREATE OR REPLACE function ilce_gtr
(
p_ilkodu number
)
RETURN VARCHAR2 AS
p_geridonen varchar2(1000);
begin
for rec in(SELECT ADI FROM ILCE WHERE Y_IL=p_ilkodu)
loop
p_geridonen := p_geridonen || '|' || rec.ADI;
end loop;
return p_geridonen;
end;
/
次に、Webメソッドを使用してxmlを作成しました。これは成功しました。
@WebMethod
public String get_ilce (int p_ilkodu) {
Statement stmt=null;
ResultSet rs=null;
Connection conn=null;
String deger=null;
try {
conn= getConnection_test();
String query = "SELECT ILCE_GTR('" + p_ilkodu + "') FROM DUAL";
stmt = conn.createStatement();
rs = stmt.executeQuery(query);
while (rs.next()) {
deger = rs.getString(1);
}
} catch (Exception e) {
return "hata";
} finally {
try {
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
return "hata";
}
}
return deger;
}
私はデータベースに挿入するために同じことをしたいのですか?
catch(Exception e){ return "hata"ではなく例外をログに記録してみます。 } ' –
このコードが作成され、正常に実行されましたが、データベースに挿入されません。挿入プロセスはどのように行うことができますか?データベースのストアドプロシージャまたはJavaのWebメソッドですか? @Scary Wombat –
SQLはうまくいくはずです。 'insert into table ....' –