编辑:我想将值添加到一个表(paziente)中,该表使用该表的视图(viewpaziente),而不是直接添加到该表。
edit2:在代码中发现了一个愚蠢的错误,现在它确实给了我一个错误,但是它没有帮助:
org.h2.jdbc.jdbcsqlException:不支持功能:“视图”;SQL语句:
插入“viewpaziente”值(?,?,?,?,?,?,?,?,?,?,?,?,?)[50100-147]
是否可以在表的视图中插入行?
我是说…我有一个带有许多字段的表“paziente”,我创建了paziente的视图,我想通过该视图向paziente添加一行。有可能在氢气中这样做吗?
我正在使用以下代码
public static boolean AddAnagrafica(String nome, String cognome,
String data, String telefono, String email,String codiceFiscale, boolean isDonna, String indirizzo, String citta,
String provincia, String cap, String paese ){
Connection conn=null;
try {
conn = getConnection();
PreparedStatement st = conn.prepareStatement("INSERT INTO \"viewPaziente\" values(?,?,?,?,?,?,?,?,?,?,?,?,?)");
st.setInt(1, new Random().nextInt());
st.setString(2,nome);
st.setString(3,cognome);
st.setString(4,data);
st.setString(5,telefono);
st.setString(6,email);
st.setString(7,codiceFiscale);
st.setBoolean(8,isDonna);
st.setString(9,indirizzo);
st.setString(10,citta);
st.setString(11,provincia);
st.setString(12,cap);
st.setString(13,paese);
st.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
最佳答案
在h2中,视图默认不可更新。要使它们可更新,需要使用“代替”触发器。一个关于如何做到这一点的例子。