2014-03-07 19 views

回答

0

temporary_tables可能不存在於information_schema數據庫中。檢查您的數據庫

0

information_schema數據庫中沒有表名'temporary_tables'。

對於來自INFORMATION_SCHEMA數據庫中獲取表的列表,你可以使用

SHOW TABLES FROM INFORMATION_SCHEMA; 
0

我們正在努力實現的是:

  1. 我們必須創造一種是在目標數據庫中的表總是GreenPlum。
  2. 在源數據庫(MYSQL)中,我們從USER中獲得一個選擇查詢,例如:「select * from ABC A A.Col1 = D.col1上的連接DEF D」,則我們創建TEMP TABLE(在MYSQL )例如「CREATE TEMPORARY TABLE table101 AS(select * from ABC A join DEF D on A.Col1 = D.col1)」。
  3. 然後使用這個TEMP表,我們從INFORMATION_SCHEMA獲得所需的信息,例如「select * from INFORMATION_SCHEMA.COLUMNS where table_name ='table101'」。這樣我們就可以獲得column_name,data_type,character_maximum_length等信息。使用這些信息,我們可以使用Javascript獲得「創建表語句」。
  4. 然後我們將這個Create table語句存儲在變量&中,它將在Execute Row腳本(在pentaho數據集成工具中的步驟)中運行,它將在目標數據庫中創建該表。
  5. 問題是在MYSQL中,TEMPORARY表沒有被存儲在INFORMATION_SCHEMA.NOW中做什麼plzz建議我一些東西。

注意:簡而言之,我們使用源數據庫中的select語句在目標數據庫中創建一個表。表示Dest DB中表格的結構取決於Source DB中的選擇查詢。