Как вернуться в сценарий разговора после активации ответа по умолчанию в Chatfuel

НЕТ, вы не можете использовать имя столбца как переменную, если это не динамический запрос (или), который вы делаете в коде приложения. Динамический способ запроса будет похож на

SET @sql = CONCAT("SELECT ", @SHIFTIME," FROM `oee_machinenames` where `oee_machinenames`.`ID` = New.NAME");
 PREPARE stmt FROM @sql;
 EXECUTE stmt;
 DEALLOCATE PREPARE stmt;

Затем измените подготовленный оператор как

SET @result = '';
SET @sql = CONCAT("SELECT ? INTO @result FROM `oee_machinenames` where `oee_machinenames`.`ID` = New.NAME");
 PREPARE stmt FROM @sql;
 EXECUTE stmt  USING @SHIFTIME;
SELECT @result; // Set the data to some other variable
 DEALLOCATE PREPARE stmt;

EDIT: Ahh !! не заметил, что это триггер. Думал, что это процедура. Да, вы не можете, но ваш запрос получить @SHIFTIME и SET @SHIFTSELECT := ... эту обе части можно объединить с измененным запросом, как показано ниже, и поэтому не будет необходимости в динамическом запросе.

Select 

      (Case
        When ((CurTime() > oee_machinenames.Shift1) And
        (CurTime() < oee_machinenames.Shift2)) Then oee_machinenames.Shift1
        When ((CurTime() > oee_machinenames.Shift2) And
        (CurTime() < oee_machinenames.Shift3)) Then oee_machinenames.Shift2
        When ((CurTime() > oee_machinenames.Shift3) Or
        (CurTime() < oee_machinenames.Shift1)) Then oee_machinenames.Shift3 End) 
    From
      oee_machinenames
      where oee_machinenames.ID = New.NAME

    Group By
      oee_machinenames.ID);
0
задан Venomouse 16 January 2019 в 00:06
поделиться

0 ответов

Другие вопросы по тегам:

Похожие вопросы: