MySQL, используя тройник в хранимой процедуре

0

Я новичок в MySQL (или вообще SQL). Я пытаюсь заставить MySQL записывать временную метку в файл с хранимой процедурой с помощью команды TEE (я не думаю, что могу использовать "select in outfile", потому что я не знаю, t хочу удалить файл, я хочу добавить к нему строку...):

mysql> DELIMITER $$
mysql> CREATE PROCEDURE test_to_file()
    -> begin
    -> TEE /home/ubuntu/test.txt;
    -> SELECT NOW();
    -> end $$

Однако, я получаю сообщение об ошибке:

ERROR 1064 (42000): у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с '/home/ubuntu/test.txt; SELECT NOW(); конец 'в строке 3

Спасибо за помощь

  • 0
    Я никогда не видел, чтобы эта команда использовалась в контексте реального запроса, и тот факт, что здесь не выделен синтаксис, убедительно свидетельствует о том, что он не является частью синтаксиса MySQL.
  • 1
    Из руководства dev.mysql.com/doc/refman/8.0/en/mysql-commands.html Tee functionality works only in interactive mode. скорее всего причина?
Показать ещё 1 комментарий
Теги:
stored-procedures

1 ответ

1

Отказ от ответственности: я не уверен, что все, что вы пытаетесь сделать, обязательно хорошая идея... но для этого есть простое решение.

Создайте таблицу с помощью CSV Storage Engine.

Затем вы можете добавить в файл, просто вставив в эту таблицу.


Использование tee - это клиентская функция. Он вообще не записывается на сервер, если только вы не запускаете клиент mysql на серверной машине... в этом случае он просто записывается на серверную машину по совпадению.

  • 0
    Спасибо за помощь, но я думаю, что я просто сделаю это в приложении ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню