问题标签 [rowid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
14728 浏览

sql - 什么会导致 Oracle ROWID 发生变化?

Oracle 中的 AFAIK ROWID 表示相应数据文件中记录的物理位置。在哪些情况下记录的 ROWID 可能会改变?

我知道的是分区表上的更新,它将记录“移动”到另一个分区。

还有其他情况吗?我们的大多数数据库都是 Oracle 10。

0 投票
4 回答
18954 浏览

sql - SQL返回特定行的rownum?(使用 Oracle 数据库)

在 Oracle 10g 中,我有这个 SQL:

返回:

我想扩展此查询以确定此结果集中 dog.id 的 oracle rownum。

我试过了

但这不是很好(无论我匹配哪个 dog.id,它都会返回 1)。我期待着回来 3。

谢谢你的帮助!


笔记

http://www.oracle.com/technology/oramag/oracle/06-sep/o56asktom.html

我很确定我不需要使用 rowid

0 投票
3 回答
2682 浏览

database - rowid 会被重用吗?

在数据库中,例如 Informix、DB2、Oracle 等,rowid 会被重用吗?

0 投票
3 回答
692 浏览

sql - 有没有Oracle的“rowid”伪列概念的开源SQL数据库?

我知道 MySQL 和 PostgreSQL[1]没有这个概念,所以我有兴趣找出一个开源 SQL 数据库确实有这个概念。

[1] 后来有人指出PostgreSQL确实有rowid伪列。

0 投票
13 回答
225833 浏览

sql - SQL Server 中 Oracle 的 RowID 等价物

什么是 SQL Server 中 Oracle 的 RowID 的等价物?

0 投票
1 回答
357 浏览

mysql - 有什么方法可以让我获得上次更新的行 ID

有什么方法可以让我得到我更新的表格的最后一行。

例如:- 我的表中有 1000 条记录。我已经更新了表 X 的第 500 条记录的值。所以,我想要 ID 500 作为回报。

提前致谢。

问候,

0 投票
3 回答
846 浏览

database - 在过程中通过 ROWID 选择时出现问题

我花了几个小时试图找到解决这个问题的方法,但由于我找不到我决定在这里问。

我正在执行一个过程来根据行从表中检索信息,ROWID结果我正在使用execute immediate. 我已将问题简化为以下几行,直接在 SQL Developer 中执行:

前面的行不能按原样工作。当我打印它的内容Consulta时显示:

但是如果我消除变量row_id并将其直接放在这样的查询中,它会起作用:

显示我所期望的,例如:

这与工作无关,因此无需担心性能/安全性。感谢您的任何反馈。

0 投票
7 回答
1712 浏览

sql - 插入Oracle后可以立即使rowid失效吗?

我正在运行看起来像这样的查询:

本质上,我插入一行并获取它的 ROWID,然后对该 ROWID 进行选择以从该记录中取回数据。不过,偶尔会找不到 ROWID。

忽略可能有更好的方法来做我想做的事情这一事实,假设没有其他人使用数据库,ROWID 是否有可能快速更改?

更新 涉及到一个触发器。这是它的 DDL 语句:

本质上,它只是一个触发器,用于帮助我们模拟 IDENTITY/AUTO INCREMENT 字段。这个触发器有问题吗?

0 投票
2 回答
685 浏览

sql-server - 唯一的 RID 会“溢出”吗?

我正在制作一个可以在 SQL Server 和 PostgreSQL 上运行的应用程序,所以我在问这两个问题。

每当您创建一个唯一的主键(使用序列或自动增量类型的东西)并点击超过 40 亿条记录(32 位)时会发生什么?我并不是说我们的表将有 40 亿条记录,而是说已经创建了 40 亿条记录,因为 RID 只会增加。所以即使我删除了 39 亿条记录,我的 RID 仍然在 40 亿条范围内。那么会发生什么?它是把精度提高到 64 位还是翻转到 0 或者只是吐出一个非常严重的错误?我是否应该担心即使是 64 位 RID 也可能最终溢出?

另外,我该如何对抗呢?是否有某种清理选项或工具?我是否只需要每年创建自己的东西或完全重建表以获得一致的 RID?(因此也触及了许多使用这些 RID 的其他表是外键)

0 投票
1 回答
2620 浏览

sqlite - SQLite3 和隐式 rowid 的

如果您没有指定主键,SQLite3 会为每个表提供一个名为 rowid 的默认主键。但是,依赖它似乎有一些缺点:

VACUUM 命令可能会更改没有显式 INTEGER PRIMARY KEY 的表中条目的 ROWID。

http://www.sqlite.org/lang_vacuum.html

我想更改现有的 SQLite3 数据库以使用显式主键而不是隐式 rowid,因此我能够在必要时运行真空。我可以在不重建整个数据库的情况下做到这一点吗?