2016-11-22 17 views
0

我在互聯網上搜索了很多,但找不到任何機制。MySQL:以SQL格式查看動態查詢

我的問題是關於MySQL動態查詢。我有這樣一個查詢:

 SET @sql = NULL;  
    SELECT 
    GROUP_CONCAT(DISTINCT 
    CONCAT(
    'SUM(CASE WHEN Status_Date = ''', 
    Status_Date, 
    ''' then count_as_of_date else 0 end) AS `', Status_Date, '`') 
    ORDER BY Status_Date) INTO @sql 
    FROM finance_dashboard.dashboard_data; 

現在,我想看看這個查詢如何被轉化爲實際SQL查詢。

有沒有MYSQL工作臺提供的工具,可以讓我查看自然SQL語句中的動態查詢?

感謝

回答

0

你貼什麼是動態查詢(實際上,它看起來你有一些語法錯誤以及)。

動態查詢(通常被稱爲DYNAMIC SQL)用於將查詢動態地短語轉換爲字符串,然後通知DBMS執行包含在該字符串中的查詢。

例如,假設您需要根據某些條件從TABLE1或TABLE2中檢索數據。您可以使用和IF ... THEN ... ELSE...構建或使用適用的表名建立一個字符串,然後使用PREPAREEXEC命令。喜歡的東西:

PREPARE Stat FROM 'SELECT * FROM ' + <tablename> + ' WHERE....' ; 

然後:

EXECUTE Stat ; 

注意:您還可以使用綁定的參數。有關如何使用此類功能的詳細信息,請參閱this