什么相当于SQL Server中的Oracle RowID?
我的理解是ROWID是查询返回的结果中每一行的唯一值.
为什么我们需要这个ROWID?ORACLE已经有了ROWNUM.
有没有人在SQL查询中使用过ROWID?
在mysql中是否有相当于oracle的rowid?
delete from my_table where rowid not in (select max(rowid) from my_table group by field1,field2)
我想制作一个相当于这个查询的mysql!
我要做的是,:my_table没有主键..我正在尝试删除重复的值并强加一个主键(field1,field2的复合).. !!
将文本作为SQLite数据库中的主键是不是很糟糕?我听说性能原因不好,这是真的吗?在这种情况下,rowid是否会被用作实际的主键?
Oracle中的AFAIK ROWID表示适当数据文件中记录的物理位置.在哪种情况下,记录的ROWID可能会改变?
我所知道的是分区表上的UPDATE,它将记录"移动"到另一个分区.
还有其他案例吗?我们的大多数数据库都是Oracle 10.
我试图在Select*语句的所有列旁边显示RowID.
我正在使用Oracle和Toad来运行SQL语句.
我有两个表需要比较,但在排序两个表进行比较时,我没有任何唯一的标识符.所以我认为使用RowID对两个表进行排序以便比较它们可能有所帮助.
有没有办法将RowID添加到Select*语句?我无法添加所有列名称,因为其中有超过50个.我将对多组表进行此操作,其中列的数量和名称将有所不同.
任何有关此的帮助或想法将不胜感激.
提前致谢,
马尔万
我想知道rowID
和之间的区别rowNUM
以及如何在我们的表中看到这两个.
当我执行这个:
SELECT * FROM emp WHERE rownum=1
Run Code Online (Sandbox Code Playgroud)
它返回一个查询,但是当我对rowid执行相同操作时,它说
不一致的数据类型:预期ROWID获得NUMBER
甚至在某些表中,rownum返回null.为什么这样?
请澄清一下:rowid vs rownum?(演示查询)
谢谢
编辑:需要使用别名来显示ROWID
和ROWNUM
(因为它们是伪列),如:
SELECT rownum r1, rowid r2 FROM emp
在SQLite文档中,它说:
外键约束的父键不允许使用rowid.父键只能使用命名列.
父键必须是父表中的一个或多个命名列,而不是rowid.
但这是否适用于rowid的别名?例如,在SQLite中,如果您有一INTEGER PRIMARY KEY
列,那么该列本质上是rowid的别名:
除了下面提到的一个例外,如果rowid表具有由单个列组成的主键,并且该列的声明类型在大写和小写的任何混合中都是"INTEGER",则该列将成为rowid的别名.这样的列通常被称为"整数主键".
(省略例外;此处不相关)
这里有一个类似的问题: sql - 为什么引用SQLite rowid会导致外键不匹配?- 堆栈溢出
如果我采用该示例并修改它以使用别名(我的整数主键列),它似乎工作:
sqlite> CREATE TABLE foo(a INTEGER PRIMARY KEY, name);
sqlite> create table bar(foo_rowid REFERENCES foo(a));
sqlite> INSERT INTO foo VALUES( NULL, "baz" );
sqlite> select * from foo;
a name
---------- ----------
1 baz
sqlite> INSERT INTO bar (foo_rowid) VALUES(1);
sqlite> select * from bar;
foo_rowid
----------
1
sqlite>
Run Code Online (Sandbox Code Playgroud)
但引用rowid的别名是否合法?谢谢.
我有一个表CSBCA1_5_FPCIC_2012_EES207201222743
,有两列employee_id
和employee_name
我使用了以下查询
SELECT ROW_NUMBER() OVER (ORDER BY EMPLOYEE_ID) AS ID, EMPLOYEE_ID,EMPLOYEE_NAME
FROM CSBCA1_5_FPCIC_2012_EES207201222743
Run Code Online (Sandbox Code Playgroud)
但是,它按照升序返回行employee_id
,但我需要按顺序将行插入表中.
rowid ×10
sql ×6
oracle ×4
database ×3
sqlite ×2
android ×1
foreign-keys ×1
mysql ×1
oracle10g ×1
primary-key ×1
row-number ×1
rownum ×1
sql-server ×1
t-sql ×1
toad ×1