// 创建一个临时表
String ceatetable = null;
if (getDao().getDBType() == DBConsts.SQLSERVER) {
ceatetable = "select * into temp" + InvocationInfoProxy.getInstance().getUserCode() + " from (" + sqlbook + " union all " + sqlcus + ") temp1";
} else if (getDao().getDBType() == DBConsts.ORACLE) {
ceatetable = "create table temp" + InvocationInfoProxy.getInstance().getUserCode() + " as (" + sqlbook + " union all " + sqlcus + ")";
} else if (getDao().getDBType() == DBConsts.DB2) {
ceatetable = "create table temp" + InvocationInfoProxy.getInstance().getUserCode() + " as (" + sqlbookdb2 + " union all " + sqlcusdb2 + ") data initially deferred refresh deferred";
}
createTable(ceatetable);
if (getDao().getDBType() == DBConsts.DB2) {
// getDao().executeUpdate("refresh table temp"+InvocationInfoProxy.getInstance().getUserCode());
String refrshtable = "refresh table temp" + InvocationInfoProxy.getInstance().getUserCode();
JdbcSession session = null;
try {
session = new JdbcSession();
session.getConnection().createStatement().execute(refrshtable);
} catch (Exception e) {
nc.bs.logging.Logger.error(e);
e.printStackTrace();
} finally {
if (session != null) {
session.closeAll();
}
}
}
/**
* 创建一个表写法 方法说明
*
* @author Think 2012-8-29
* @throws BusinessException
*/
private void createTable(String sql) throws BusinessException {
JdbcSession session = null;
try {
session = new JdbcSession();
session.getConnection().createStatement().execute(sql);
} catch (Exception e) {
Logger.error(e.getMessage(), e);
throw new BusinessException(e);
} finally {
if (session != null) {
session.closeAll();
}
}
}