相关疑难解决方法(0)

INFORMATION_SCHEMA 在 MySQL 中是如何实现的?

INFORMATION_SCHEMA 理论上是 SQL 标准中指定的一组视图,允许用户检查系统的元数据。这是如何在 MySQL 中实现的?

当我连接到全新安装时,我看到两个数据库:mysqlinformation_schema. 在数据库SHOW CREATE TABLE上使用语句后information_schema,它看起来不是作为一组视图实现的,而是使用基表实现的。这个假设正确吗?或者还有其他对用户隐藏的系统表?

mysql information-schema

15
推荐指数
1
解决办法
2万
查看次数

保证 SQL Server Identity Columns 两个连续的值以恒定增量不同?

我提出关于迪纳利序列的问题,在这里和关于Oracle全球表标识列的仿真另外一个问题在这里

我一直认为我可以相信身份值会不断增加。另一方面,我知道使用序列我永远无法确定它们中没有一些空白。

是时候适应序列中的差距,还是留在临时表中的标识列会更好?

sql-server sequence identity sql-server-2012 temporary-tables

6
推荐指数
1
解决办法
1442
查看次数

在 mysql 上模拟序列,为迁移到 oracle 做准备

我一直在开发一个针对 MySQL 的应用程序,而一个新的开发服务器正在慢慢建立。新的开发服务器将使用 oracle,并且由于我们即将准备就绪,我想从主键中删除 auto_increment 属性,并模拟 Oracle 的序列。我好几年没用oracle了。

由于每个预插入触发器都会做同样的事情——从 *foo_sequence* 中获取表foo的下一个 id ,Oracle 是否允许实现某种形式的动态/词法触发?

任何提示、技巧或陷阱?

编辑 #1:1550 - 这不是一个频繁使用的应用程序。一次使用将导致在最大的事务中插入 13 次小的、简单的记录。并发性是未知的,但一个用户导致任何重要的锁饥饿的可能引擎盖是估计非常低的 IMO。

编辑 #2 1612:目的是在 mysql 中模拟 oracle 序列,然后在 oracle 上使用 oracle 序列。

谢谢。

解析度:

  • 我正在实现一个类作为序列的接口。
    • 在 mysql 上,我正在实现一个表来保存序列值,以及一个存储过程来获取下一个值并更新行。该类将调用此存储过程并返回值。
    • 在 oracle 上,我只会从 oracle 序列中获取下一个值。班级会提出这个要求。Sequence 类将从序列中请求下一个值。
  • 应用程序代码将使用 Sequence 类来获取插入的下一个序列值,从使用该值的插入语句中抽象出“nextval”实现细节。

mysql trigger oracle

2
推荐指数
1
解决办法
952
查看次数