插入到H2数据库中的视图

Mau*_*bon 2 java database jdbc view h2

编辑:我想添加值到一个表(paziente)使用该表的视图(viewPaziente),而不是直接在表中。

edit2:在代码中发现了一个愚蠢的错误,现在它确实给了我一个错误,但没有帮助:

org.h2.jdbc.JdbcSQLException:不支持的功能:“ VIEW”; SQL语句:INSERT INTO“ viewPaziente”值(?,?,?,?,?,?,?,?,?,?,?,?,?)[50100-147]

是否可以在表视图中插入行?

我的意思是…我有一个包含许多字段的“ paziente”表,我创建了一个Paziente视图,并且想通过该视图向paziente添加一行。在H2中可以这样做吗?

我正在使用以下代码

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;
}
Run Code Online (Sandbox Code Playgroud)

Tho*_*ler 5

在H2中,默认情况下视图不可更新。为了使它们可更新,您需要使用“代替”触发器。有关如何执行此操作的示例,请参见H2源存储库