2015-01-10 3 views
0

У меня есть хранимая функция и должен предварять таблицы с числовым значениемMySQL Использование переменного в имени таблицы

Как я могу использовать @packages_plu и т.д. в SELECT,?

CREATE DEFINER=`fs01`@`%` FUNCTION `pack_isp`(fk_packages_id INT , c TEXT) RETURNS decimal(10,2) 
BEGIN 
    DECLARE p DECIMAL(10,2); 
    SET p = 0; 
    SET @packages_plu=CONCAT(c,'_packages_plu'); 
    SET @products= CONCAT(c,'_products'); 
    SET @packages= CONCAT(c,'_packages'); 
SELECT 
    SUM(d.quantity * p.price_each_inc) 
INTO p FROM 
    1_packages_plu d 
     LEFT JOIN 
    1_products p ON d.fk_products_id = p.id 
     LEFT JOIN 
    1_packages g ON g.id = fk_packages_id 
WHERE 
    d.fk_packages_id = fk_packages_id; 
    RETURN p; 
END 
+0

Я попытался ГОТОВИШЬ & ВЫПОЛНИТЬ, но получаю сообщение об ошибке при обновлении функции «Dynamic SQL не допускается в хранимой функции или триггера» –

ответ

Смежные вопросы