Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 按ROWID删除_Oracle_Rowid - Fatal编程技术网

Oracle 按ROWID删除

Oracle 按ROWID删除,oracle,rowid,Oracle,Rowid,我想运行这个查询 DELETE FROM A006873.GC_CLIENTS WHERE ROWID = '14519'; 但我得到了这个错误: SQL.SQL:错误(2,15):ORA-01410:无效的ROWID 我进入了GC\u客户 ID NUMBER NAME 14519 0000017690 VILLAVINE 如果我的身份证正确,我不知道怎么了。 顺便说一下,我正在使用一个序列,我不想用删除它,其中ID='14519' ID=14519不是ROWID。

我想运行这个查询

DELETE FROM A006873.GC_CLIENTS
WHERE ROWID = '14519';
但我得到了这个错误:

SQL.SQL:错误(2,15):ORA-01410:无效的ROWID

我进入了GC\u客户

ID      NUMBER      NAME
14519   0000017690  VILLAVINE
如果我的身份证正确,我不知道怎么了。
顺便说一下,我正在使用一个序列,我不想用
删除它,其中ID='14519'

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;

ROWID是一个psuedocolumn,返回行的地址

如果不想按Id删除,可以尝试此操作

delete from A006873.GC_CLIENTS
WHERE ROWID in (select rowid from A006873.GC_CLIENTS where id = '14519');

从ID='14519'返回的GC_客户机中选择ROWID有什么关系?使用序列有什么关系?假设ID是主键,按ID或ROWID删除也会做同样的事情。谢谢,伙计,这帮了大忙。我想更多地了解甲骨文,你知道一本好书吗?或者类似的?