Использование Delimeter (Mariadb) в графане - PullRequest
0 голосов
/ 11 декабря 2019

Я новичок в Grafana 6.4, использую Mariadb 10.3.

Ниже SQL может работать на рабочем месте:

DELIMITER //
BEGIN NOT ATOMIC
    DECLARE groupType INT DEFAULT 0;
    SELECT SHOWORDER INTO groupType FROM dba.VW_IOT_TBLWIPAPSGROUP3 WHERE GROUP_NUMBER='20181224150734';
    IF (groupType < 10) THEN 
    select * from dba.VW_IOT_TBLWIPAPSGROUP3;
    ELSE
    select GROUP_NAME from dba.VW_IOT_TBLWIPAPSGROUP3;
    END IF;
END
//
DELIMITER ;

, но получит ошибку в Grafana:

Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'DELIMITER //
BEGIN NOT ATOMIC
    DECLARE groupType INT DEFAULT 0;
    SELECT SH' at line 1

Есть предложения по этому делу? Заранее спасибо.

1 Ответ

0 голосов
/ 11 декабря 2019

DELIMITER не является частью SQL, но является функцией клиента.

В клиенте и рабочей среде командной строки mysql точка с запятой ; используется для распознавания, когда оператор должен быть отправлен на сервер. Это не будет работать, если вы напишите функцию или хранимую процедуру, которая содержит точку с запятой, в этом случае вам нужно заменить точку с запятой на другой разделитель.

Если вы не используете клиент командной строки или верстак mysql, выне нужен разделитель. Поэтому вам нужно удалить первую и последнюю две строки из вашего оператора SQL.

...