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

1

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

Прямо после INSERT sql я выполняю следующий SQL для получения последнего идентификатора последней вставленной строки:

$stmt = $this->query("SELECT {$sequence}.CURRVAL FROM DUAL", PDO::FETCH_COLUMN);

Затем я использую этот ID для выполнения UPDATE для изменения столбцов в строке.

Мой вопрос - это безопасный с точки зрения параллелизма?

Я понимаю, что SEQUENCES безопасны в сеансе? Что такое сеанс в этом случае?

Теги:

1 ответ

0

Мой вопрос - это безопасный с точки зрения параллелизма?

Вообще говоря, нет, если вы используете триггер только для генерации идентификатора последовательности (и предположим, что логика триггера верна), то это безопасно с точки зрения параллелизма.

Тем не менее, я рекомендую вам прочитать эту статью на странице 18, она объяснит, когда происходит параллелизм и как.

Что касается последовательностей, да, они тоже безопасны. но что касается сессий, я не знаком с php.

  • 0
    Цель триггера - генерировать только новый идентификатор. Я предполагаю, что мой вопрос - что такое сессия БД в отношении PHP?
  • 0
    @rukiman Я не так хорош в отношении php-сессии, надеюсь, кто-то может вам помочь

Ещё вопросы

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