我想要执行如下操作,假如有一张表A,
我要先执行清空操作,代码如下:
StringBuffer sql = new StringBuffer();
sql.append(" truncate table A ");
this.getJdbcTemplate().update(buffer.toString());
然后我从B表取数再插入A表,代码如下:
StringBuffer buffer = new StringBuffer();
buffer.append(" insert into A(name,code) ");
buffer.append(" select name,code from B");
完整代码如下:
StringBuffer sql = new StringBuffer();
sql.append(" truncate table A ;");
StringBuffer buffer = new StringBuffer();
buffer.append(" insert into A(name,code) ");
buffer.append(" select name,code from B");
this.getJdbcTemplate().update(sql.toString());
this.getJdbcTemplate().update(buffer.toString());
结果报错了,求大神指导。。。
执行时间:04:34:51,301|执行SQL:15|处理结果集:55|sql: truncate table MODEL_METADATA_DETAIL ;
2013-09-18 16:34:51,301 ERROR [com.sinosoft.auditcheck.metaData.dao.impl.metaDataDaoImpl] - <生成元数据失败>
org.springframework.jdbc.BadSqlGrammarException: StatementCallback;
bad SQL grammar [ truncate table MODEL_METADATA_DETAIL ; ]; nested exception is java.sql.SQLException: ORA-00911: 无效字符
Caused by: java.sql.SQLException: ORA-00911: 无效字符
oracle java jdbc
------解决方案--------------------
你那个是sql语句,而hibernate所用的是hql语句,是有差别的