oracle許可權一則

2021-09-21 21:30:27 字數 1202 閱讀 1959

oracle的許可權分為系統許可權與對像許可權兩種.系統許可權主要用於資料庫的管理任務,權利比較大,

而對像許可權主要用於資料庫內的對像,如表等。這裡只記錄授權與**的sql方法。

系統許可權授權:grant create session/dba to a [with admin option];

對像許可權授權:grant select on sys.anran to a [with grant option];

這裡有兩個選項with admin option/with grant option,其實功能差不多,只是乙個用在系統

許可權授權,另乙個用在對像許可權授權。帶有這兩種選擇的grantee(被授權者)有授予其他人該許可權的

能力。需要什麼許可權才可以給別授權呢?前面是一種情況,帶有with admin option/with grant option選項的grantee.

還有一種情況是:對於系統許可權來說擁有grant any privilege許可權的grantee(如果是授予角色[grant

a_role to a],則是擁有grant any role許可權的grantee,這裡可以把角色理解為一種系統許可權的)有權grant。

對於對像許可權來說是擁有grant any object privilege許可權的grantee。

系統許可權**:revoke create session from a;

對像許可權**:revoke select on sys.anran from a;

語法基本相同,但revoke在**系統許可權時沒有cascade功能,而收回對像許可權時卻是一插到底。

比如:a授權給使用者b系統許可權帶有with admin option,b又授權給使用者c該許可權,當使用者a從使用者b收回許可權時,

並不會收回使用者c的許可權,有點覆水難收的意思,但如果是對像許可權卻會**c的權根.

需要什麼許可權才可以收回許可權呢?對於系統許可權帶有with admin option選項的grantee,當然可以,無論許可權

是否是他親自授予。但擁有grant any privilege許可權的人卻沒有這個能力。但有乙個例外擁有grant any role 許可權的人可以revoke any role。

對於對像許可權帶有with grant option選項的grantee,當然可以,但是許可權必須是他親自授予的。另外擁有 

grant any object privilege 許可權的grantee也具有此能力。

哎呀,真夠頭大的。

Excel 應用一則

那就開始做事吧 是想讓它完成這樣乙個功能 計算兩個日期之差.我一開始就在想是不是應該用它提供的函式來解決呢 後來發現沒有提供這個函式.並且這時我連怎麼取函式的引數位置都不清楚,慢慢來,看下別人做的.我先試了一下now 函式,哈哈.成功.太爽了,接下來就是找函式 發現這個函式 datedif star...

seq妙用一則

haoren im sj01 server01 gongsi seq f 201110 02g 1 26 20111001 20111002 20111003 20111004 20111005 20111006 20111007 20111008 20111009 20111010 2011101...

JPQL CASE WHEN 寫法一則

其實也沒什麼特別的,就是jpa2中,jpql的解析還是有硬傷啊,害得我摸索了好一陣子。請看 public static final string hql find transaction amount select new foo.bar.service.report.tax.transaction...