CREATE PROCEDURE data1 (IN v_dt2 VARCHAR(256) , v_col2 VARCHAR(256),col2 VARCHAR(256))
BEGIN
SELECT dt1 as datep, var1 as vars, 'new' as type
FROM samp
UNION all
SELECT v_dt2, v_col2, 'col2' as type
FROM samp
;
END //
DELIMITER ;
CALL data1 ("dt2","var2","old")
在上面的調用語句這是在括號中列名 但在輸出給參數作爲文本不考慮列名...如何將它們轉換爲UNION ALL後的select語句中的列名稱傳遞列名作爲參數,並調用
請不要使用全大寫的標題,它是分散和惱人的。 – 2015-10-06 10:35:19
簡短的回答是,你不能將用戶變量作爲列名或表名 – e4c5
[mysql變量的字段名稱]可能重複(http://stackoverflow.com/questions/4428761/mysql-field-name-from-variable) – e4c5