2016-08-22 71 views
-3

在MySQL過程中我希望從臨時表中計數行,這是從動態查詢即,MySQL計數顯示臨時表列名稱的行總數

CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Tbl as select * from dynamic_tbl; 

Desc Temporary tmp_Tbl; 說,現場有15行,以便保存到一個會話變量@TotCols

再次從動態查詢創建臨時表: 說明臨時tmp_Tbl; 說現場有4行,以便保存到一個會話變量@TotCols

回答

0

在您的存儲例程的主體,請嘗試:

SET @create_tmp_table_sql = CONCAT(
    'CREATE TEMPORARY TABLE IF NOT EXISTS tmp_tbl AS ', 
    'SELECT * FROM dynamic_tbl' 
); 
PREPARE create_tmp_table_stmt FROM @create_tmp_table_sql; 
EXECUTE create_tmp_table_stmt; 
DEALLOCATE PREPARE create_tmp_table_stmt; 

SET @TotCols = (SELECT Count(*) FROM tmp_tbl); 
+0

在的問題,我需要多少臨時表中的總列。 –