diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 626d0f5517..29f7f7afcd 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -112,7 +112,7 @@ public class DataSetTableService { return datasetTable; } - public void delete(String id) throws Exception{ + public void delete(String id) throws Exception { datasetTableMapper.deleteByPrimaryKey(id); dataSetTableFieldsService.deleteByTableId(id); // 删除同步任务 @@ -120,10 +120,11 @@ public class DataSetTableService { deleteDorisTable(id); } - private void deleteDorisTable(String datasetId) throws Exception{ + private void deleteDorisTable(String datasetId) throws Exception { String dorisTableName = DorisTableUtils.dorisName(datasetId); - Datasource dorisDatasource = (Datasource)CommonBeanFactory.getBean("DorisDatasource"); - JdbcProvider jdbcProvider = CommonBeanFactory.getBean(JdbcProvider.class);; + Datasource dorisDatasource = (Datasource) CommonBeanFactory.getBean("DorisDatasource"); + JdbcProvider jdbcProvider = CommonBeanFactory.getBean(JdbcProvider.class); + ; DatasourceRequest datasourceRequest = new DatasourceRequest(); datasourceRequest.setDatasource(dorisDatasource); datasourceRequest.setQuery("drop table if exists " + dorisTableName); @@ -548,7 +549,10 @@ public class DataSetTableService { JdbcProvider jdbcProvider = CommonBeanFactory.getBean(JdbcProvider.class); DatasourceRequest datasourceRequest = new DatasourceRequest(); datasourceRequest.setDatasource(dorisDatasource); - datasourceRequest.setQuery("CREATE VIEW " + dorisTableName + " AS (" + customSql + ")"); + // 先删除表 + datasourceRequest.setQuery("DROP VIEW IF EXISTS " + dorisTableName); + jdbcProvider.exec(datasourceRequest); + datasourceRequest.setQuery("CREATE VIEW IF NOT EXISTS" + dorisTableName + " AS (" + customSql + ")"); jdbcProvider.exec(datasourceRequest); } diff --git a/frontend/src/views/dataset/data/UnionView.vue b/frontend/src/views/dataset/data/UnionView.vue index 3f5091768d..19edacf70c 100644 --- a/frontend/src/views/dataset/data/UnionView.vue +++ b/frontend/src/views/dataset/data/UnionView.vue @@ -5,6 +5,8 @@