【发布时间】:2011-02-17 13:41:05
【问题描述】:
编辑:我想将值添加到使用该表 (viewPaziente) 的视图而不是直接使用该表的表 (paziente)。
edit2:在代码中发现了一个愚蠢的错误,现在它确实给了我一个错误,但它没有帮助:
org.h2.jdbc.JdbcSQLException:不支持功能:“VIEW”; SQL 语句: INSERT INTO "viewPaziente" values(?,?,?,?,?,?,?,?,?,?,?,?,?) [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;
}
【问题讨论】:
-
我开始认为这对于 h2 数据库是不可能的
-
哎呀,不支持此功能。
-
有可能,但是你需要自己实现更新基表(见下面我的回答)。
-
也许这是你的问题的一部分:避免在你的表名周围使用
\"。通常,双引号在 SQL 中没有任何意义。简单的引号是用户分隔一个字符串(里面可能有双引号)。官方的“简单引用”写为''。示例:INSERT INTO my_table (my_text) VALUES ('Double quote=" and, guess what, simple quote=''!')
标签: java database jdbc view h2