doulu7921 2015-06-25 04:50
浏览 252

oracle序列和并发

Whenever I do an insert into the oracle database, I perform an insert, there is a trigger set up on this table to increment the ID to emulate MYSQL's autoincrement.

Straight after the INSERT sql I perform the following SQL to retrieve the last ID of the last inserted row:

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

I then use this ID to perform an UPDATE to modify columns in the row.

My question is this safe in terms of concurrency?

My understanding is that SEQUENCES are session safe? What exactly is a session in this case?

  • 写回答

1条回答 默认 最新

  • dqab0824 2015-06-25 07:03
    关注

    My question is this safe in terms of concurrency?

    Generally speaking no, if your are using the trigger only to generate a sequence id (and supposing the logic of trigger is correct ) then its safe in terms of concurrency.

    However, I recommandad you read this article page 18 it will explain when concurrency happens and how.

    As for sequences , yes they are safe too . but as for the sessions I am not familiar with php.

    评论

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算