Oracle 中的 MySQL 锁替代方案

标签 mysql oracle11g

我正在迁移之前使用 MySQL 的应用程序。现在必须使用 Oracle 来开发该应用程序。 我没有找到任何替代方案

 $lock = $conn->execute('SELECT IS_FREE_LOCK("' . $lock_key . '")');

请帮忙。

最佳答案

如果您确实想使用用户定义的锁,则需要使用 dbms_lock package 。不过,想要在 Oracle 应用程序中使用用户定义的锁是非常非常不寻常的。 Oracle 自动提供的锁定不足的情况是很不寻常的。

如果您确实沿着用户定义锁的路径前进,dbms_lock.request 将获取锁。确定锁是否“空闲”的唯一方法是以适当的模式请求它并检查返回值。如果您想避免阻塞时间过长,可以指定相对较短的超时时间。

关于Oracle 中的 MySQL 锁替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21495218/

相关文章:

MySQL 查询合并与内部连接

php - 如何从数据库中获取数据的详细信息?

php - MySQL LAST_INSERT_ID() 和 FOUND_ROWS()

oracle11g - 如何在 Oracle 11g 中使用 SQL Developer 进行级联删除?

tomcat - 运行 Apache Tomcat -XDB 的问题

sql - Oracle加入-常规语法VS ANSI语法之间的比较

mysql - 摆弄 MySQL : information_scheme

php - LOAD DATA INFILE - 但还要为每一行添加此列条目?

java - 使用 ScriptRunner "runScript"方法时,如果一次插入失败则回滚

c# - 从 Oracle 读取问题