真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

只有select權限也能鎖表?readandselect

有個客戶問我說,為啥只有select權限,也可以for update鎖表。

網站建設哪家好,找創(chuàng)新互聯(lián)!專注于網頁設計、網站建設、微信開發(fā)、重慶小程序開發(fā)、集團企業(yè)網站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了全州免費建站歡迎大家使用!

我懵了一下,不確認啊,我先測試了下,如下所示:

 create user test11 identified by test11;

 create user test12 identified by test12;

grant connect,resource to test11,test12;

create table test11.objects as select * from dba_objects;

grant select on test11.objects to test12;

會話1:

只有select權限也能鎖表?read and select

會話2:

只有select權限也能鎖表?read and select

可以看到,確實僅有可讀的權限下,是可以for update的。

為啥可以for update,似乎不符合邏輯,點太小了,只能在官方文檔那個上搜了,不得不夸一句,oracle官方文檔真的詳細。只能想著在官方文檔上看看有沒有線索,一查,發(fā)現(xiàn)還真有!

如下:

SELECT      Query the table with the SELECT statement, including SELECT ... FOR UPDATE.

可以看到,select確實包含了 for update權限。

不一樣的是,除了select之外,還有一個read表示查詢,但是read不包含 for update。這個是12.1之后才有的變化。

READ Query the table with the SELECT statement. Does not allow SELECT ... FOR UPDATE.

Note: This privilege is available starting with Oracle Database 12 c Release 1 (12.1.0.2).

為啥select會有for update權限呢,可能是出于希望查詢能夠強制一致性的關系。

但這個其實對于大多數(shù)查詢場景來說,for update的鎖表權限還是太大了,所以在12.1開始,分離除了更小的read權限,用以滿足客戶需求。


本文名稱:只有select權限也能鎖表?readandselect
文章起源:http://weahome.cn/article/gjipdi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部