我想运行此查询。
DELETE FROM A006873.GC_CLIENTS
WHERE ROWID = '14519';
但是我收到了这个错误:
SQL.sql:错误(2,15):ORA-01410:无效的ROWID
我进入了 GC_CLIENTS
ID NUMBER NAME
14519 0000017690 VILLAVINE
如果我的ID正确,我没有意识到出了什么问题。
我顺便使用了一个序列,我不想用WHERE ID = '14519'
删除它。
答案 0 :(得分:0)
ID = 14519不是ROWID。 ROWID是用于定位值的内部标识符
SQL> select rowid from t.d;
ROWID
------------------
AAAVqIAAEAAAAInAAA
AAAVqIAAEAAAAInAAB
AAAVqIAAEAAAAInAAC
SQL> delete from t.d where rowid = 'AAAVqIAAEAAAAInAAA';
1 row deleted.
SQL> select rowid from t.d;
ROWID
------------------
AAAVqIAAEAAAAInAAB
AAAVqIAAEAAAAInAAC
你想要的只是
DELETE FROM A006873.GC_CLIENTS
WHERE ID = 14519;
答案 1 :(得分:0)
ROWID是一个返回行地址的伪列。
如果您不想按ID
删除,可以尝试此操作delete from A006873.GC_CLIENTS
WHERE ROWID in (select rowid from A006873.GC_CLIENTS where id = '14519');