编辑:我想将值添加到一个表(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中,视图默认不可更新。要使它们可更新,需要使用“代替”触发器。一个关于如何做到这一点的例子。

10-04 20:09