中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-08-07 21:29:18 來源:ITPUB博客 閱讀:276 作者:隨風映雪 欄目:關系型數據庫

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

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

 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官方文檔真的詳細。只能想著在官方文檔上看看有沒有線索,一查,發現還真有!

如下:

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權限呢,可能是出于希望查詢能夠強制一致性的關系。

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

涟水县| 应城市| 个旧市| 庆云县| 呈贡县| 罗田县| 西乌珠穆沁旗| 太原市| 长春市| 成安县| 大丰市| 玛多县| 江津市| 金乡县| 海城市| 亚东县| 杭锦后旗| 龙陵县| 交城县| 孝昌县| 涞水县| 进贤县| 衡东县| 江孜县| 若羌县| 尚志市| 宿州市| 金溪县| 叙永县| 钟祥市| 武胜县| 博兴县| 宁都县| 太原市| 措美县| 古蔺县| 威海市| 通榆县| 望都县| 永平县| 合肥市|