Как в SQL сделать сразу несколько запросов в одном действии

Поддержка
  • @Bigma said in Как в SQL сделать сразу несколько запросов в одном действии:

    @sergerdn Завтра гляну, с телефона сам понимаешь.

    Не понимаю, так как мне неизвестно, чтобы UPDATE возвращал что-то сверх того, что я дал выше. Я понимаю, что я не DBA и легко могу не знать что-то и это прям нормально. Всего знать невозможно. Поэтому я и попросил пример запроса UPDATE , где он возвращает id обновленных записей.
    Следующим запросом можно получить инфу, что обновилось, но это будет следующий запрос и мы опять наткнулись, что другой поток может между двумя запросами вмешаться и сделать свою работу. Тогда мы получим не то, что ожидаем.

  • Щас глянуть не могу, что он возвращает в ответ, но можно писать ведь не 1, а номер потока к примеру, или рендом. И по этому числу искать запись. Проверю завтра.

  • @Bigma said in Как в SQL сделать сразу несколько запросов в одном действии:

    Щас глянуть не могу, что он возвращает в ответ, но можно писать ведь не 1 а номер потока к примеру, или рендом. И по этому числу искать запись. Проверю завтра.

    Да многое можно, а потом посмотреть на свой код и понять, что ты сделал функционал SELECT FOR UPDATE.
    P.S.
    У меня была такая история.

  • @sergerdn Как ты уже написал, она лочит всю таблицу, имей это ввиду.

  • @Bigma said in Как в SQL сделать сразу несколько запросов в одном действии:

    @sergerdn Как ты уже написал, она лочит всю таблицу, имей это ввиду.

    Я же сам это написал, конечно я имею в виду. И так же добавил, что эта информация может быть устаревшая и надо ее проверять. Может у современных реализаций INNODB немного не так. Может лочится только одна запись в таблице на чтение. Чтобы другой поток не захватил ее.
    Под капотом БД многое что делается, другое дело, что ты не знаешь об этом и "спишь спокойно".

  • Друзья, вопрос же не в частном случае. В справке написано что можно несколько строк, вот мой вопрос и сводится к тому - как сделать чтобы в кубике работало несколько строк. А вы в какие то дербри полезли

  • @Shogo, многострочный запрос и несколько запросов в одном, это не одно и тоже, модуль поддерживает многострочные запросы, но не поддерживает несколько запросов в одном, так как либо они не поддерживаются в конкретном диалекте или отключены по умолчанию. Например в MySQL и MariaDB, несколько запросов в одном отключены по умолчанию, а чтобы их включить нужно добавить multipleStatements: true в настройки диалекта.

  • @GhostZ а где у нас настройки диалекта? А то ни разу с этим не сталкивался

  • @Shogo, нигде, их можно изменить только отредактировав код модуля

  • @GhostZ а где можно отредактировать код модуля? )

  • @Shogo Если, нет понимания, где редактировать, то может и не стоит !?

  • @inotoxic ну там пачка файлов, если мне сказать в каком файле и в каком месте - то в чём проблема?