avatar
oracle rowid 问题# Database - 数据库
B*g
1
一个procedure, 是用第一种方法好,还是第二种(id 是table的pk,unique index?
为什么? 谢谢
1.
select rowid,....
into lnRowi1d, ......
from tab1
something between
update tab1
set .....
where rowid = lnRowi1d
2.
select id,....
into lnId, ......
from tab1
something between
update tab1
set .....
where id = lnId
avatar
c*d
2
绝对是2
为什么呢?万一发生row migration方法1就有问题了
avatar
B*g
3
谢谢。一会查一查row migration,不太懂。

【在 c*****d 的大作中提到】
: 绝对是2
: 为什么呢?万一发生row migration方法1就有问题了

avatar
B*g
4
sorry,我学过一点DBA,知道row migration,只是一下没想起来。看来生命不息,学习
不止。

【在 B*****g 的大作中提到】
: 谢谢。一会查一查row migration,不太懂。
avatar
c*d
5
或者这么说
你存完rowid之后,如果一些操作导致这一行的rowid改变了
以后你再以rowid作为where语句的条件就有问题了

【在 B*****g 的大作中提到】
: 谢谢。一会查一查row migration,不太懂。
avatar
B*g
6
谢谢。
如果用cursor ... for update, 好像记得也是隐含用rowid(这个不确定),会不会也
有影响?

【在 c*****d 的大作中提到】
: 或者这么说
: 你存完rowid之后,如果一些操作导致这一行的rowid改变了
: 以后你再以rowid作为where语句的条件就有问题了

avatar
c*d
7
如果是cursor select ... for update
至少我不知道会隐含用rowid
select ... for update只是上锁

【在 B*****g 的大作中提到】
: 谢谢。
: 如果用cursor ... for update, 好像记得也是隐含用rowid(这个不确定),会不会也
: 有影响?

avatar
B*g
8
谢谢。

会也

【在 c*****d 的大作中提到】
: 如果是cursor select ... for update
: 至少我不知道会隐含用rowid
: select ... for update只是上锁

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。