Всякий раз, когда я вставляю в базу данных оракула, я выполняю вставку, в этой таблице установлен триггер, чтобы увеличить идентификатор, чтобы эмулировать автоинкремент MYSQL.
Прямо после INSERT sql я выполняю следующий SQL для получения последнего идентификатора последней вставленной строки:
$stmt = $this->query("SELECT {$sequence}.CURRVAL FROM DUAL", PDO::FETCH_COLUMN);
Затем я использую этот ID для выполнения UPDATE для изменения столбцов в строке.
Мой вопрос - это безопасный с точки зрения параллелизма?
Я понимаю, что SEQUENCES безопасны в сеансе? Что такое сеанс в этом случае?
Мой вопрос - это безопасный с точки зрения параллелизма?
Вообще говоря, нет, если вы используете триггер только для генерации идентификатора последовательности (и предположим, что логика триггера верна), то это безопасно с точки зрения параллелизма.
Тем не менее, я рекомендую вам прочитать эту статью на странице 18, она объяснит, когда происходит параллелизм и как.
Что касается последовательностей, да, они тоже безопасны. но что касается сессий, я не знаком с php.