Я застрял, чтобы создать операторы FUNCTION
и PROCEDURE
- DELIMITER
в Po pSQL. Приложение продолжает выдавать ошибку, когда я пытаюсь использовать оператор DELIMITER
:
ER_PARSE_ERROR: у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MariaDB, чтобы найти правильный синтаксис для использования рядом с «DELIMITER || CREATE FUNCTION count_length (str VARCHAR (255), del VARCHAR (12), 'в строке 1
Ниже приведен код, который я написал:
DELIMITER ||
CREATE FUNCTION count_length(str VARCHAR(255), del VARCHAR(12), pos INT)
RETURNS VARCHAR(255)
BEGIN
DECLARE getLength;
SET getLength = LENGTH(SUBSTRING_INDEX(str, del, pos - 1)) + 1;
RETURN getLength;
END ||
CREATE PROCEDURE init()
BEGIN
SELECT count_length('Hello|my|name|is|John', '|', 2);
END ||
DELIMITER ;
CALL init();
И это мои настройки БД:
Nickname:
study
Type:
MySQL
Hostname:
localhost
Port:
3325
Database:
study
Username:
root
Password:
none
Странно то, что приведенный выше код прекрасно работает в MySQL Workbench.
Я использую Po pSQL и не планирую использовать Workbench Потому что Po pSQL выглядит более современным и понятным, чем Workbench.
Как использовать DELIMITER
в Po pSQL?