2013-10-01 50 views
2

在我的要求中,我從文件(excel)接收數據並將其插入到數據庫中。 但我在基於某些業務邏輯處理文件期間獲取的表名。 我應該檢查表是否存在與名稱,如果存在然後更新它否則創建並插入數據到它。 這個需求是否可以通過使用mule studio提供的組件或端點來實現,而不需要定製java代碼? 在此先感謝。在騾流中創建動態表格

回答

1

我不認爲這是可能的標準組件。

說你有一個可以通過三種XLS映射3個表,你可以靜態地定義三個datamappers並在選擇組件調用它們在一定的邏輯關係。 這是非常簡單的檢查表使用Groovy/Java的存在,例如,你可以使用:

java.sql.DatabaseMetaData dbm = con.getMetaData(); 
      rs = dbm.getTables(null, null, "TableName", null); 
      if (rs.next()) { 
       System.out.println("TableName found"); 
      }else{ 
       System.out.println("TableName NOT found"); 
} 
0

或者你也可以使用下面的查詢在你的Groovy腳本來檢查數據庫是否存在,如果創建不 -

if not exists (select * from sysobjects where name='YourTableName' and xtype='U')create table YourTableName(ID int NOT NULL, NAME varchar(50) NULL,AGE int NULL,DESIGNATION varchar(50) NULL) 

但是,是的,這if not exists查詢不被擱淺騾子數據庫組件,並在這種情況下,你可以使用Groovy的組件支持。
這是一個簡單的查詢,您可以根據自己的需要對其進行修改,如果不存在,創建該表非常有用,正如您所看到的,您可以直接在單行中使用create table命令