grant資料庫
① 資料庫中的DROP,GRANT REVORK分別是干什麼用的
資料庫中的DROP是用來從資料庫中刪除已存在的表,或從表中刪除已存在的索引。語法為DROP {TABLE表 | INDEX索引 ON表 | PROCEDURE procere | VIEW view}。
資料庫中的GRANT是用來給某用戶或某組或所有用戶(PUBLIC)提供某些特定的許可權。語法為GRANt <許可權>[,<許可權>]...[ON<對象類型><對象名>]TO<用戶名>[,<用戶名>]...[WITH GRANT OPTION]。
資料庫中的REVORK是用來收回給某用戶或某組或所有用戶(PUBLIC)提供的某些許可權。語法為REVOKE<許可權>[,<許可權>]...[ON<對象類型><對象名>] FROM<用戶>[,<用戶>]。
(1)grant資料庫擴展閱讀:
資料庫中使用DROP必須先關閉表,然後才能刪除此表或此表中的索引。也可以使用 ALTER TABLE 語句 來刪除表中的索引。對於非微軟資料庫, Microsoft Jet資料庫引擎不支持DROP或 DDL 語句的使用。應採用 DAO Delete 方法。
資料庫中除了創建者外,除非創建者賦予(GRANT)許可權,其他人沒有訪問對象的許可權。一旦用戶有某對象的許可權,他就可以使用那個特權。不需要給創建者賦予(GRANT)對象的許可權,創建者自動擁有對象的所有許可權,包括刪除它的許可權。
② oracle的grant語句,一次只能授權一張表的訪問許可權嗎
grant語句,一次只能對一個對象進行賦權;不能同時對兩個表進行賦權;但可以同時賦權多個不同的許可權;如,grant select,update,insert on test_null to sys;
舉例實踐如下:
1、多表同時賦權,會產生報錯信息。
(2)grant資料庫擴展閱讀
1、給資料庫用戶授權(對象為用戶表)
GRANT privilege[, ...] ON object[, ...] TO { PUBLIC | GROUP group| username}
privilege包含,select:查詢、insert:插入、update:更新、delete:刪除、all:所有
2、grant select,insert,update on tablename to public;
給所有用戶授予查春絕詢、插入、更新tablename表的許可權
revoke select,insert,update on tablename from public;//收回所有用戶查詢、插入、更新tablename表的許可權
object包含,table:敬或表、view:亮森伍視圖、sequence:序列、index:索引
3、grant select,insert,update on tablename,viewname,sequencename,indexname to public;
1)public:對所有用戶開放許可權
2)GROUP groupname:對該組所有用戶開放許可權
3)username:對指定用戶開放許可權
參考資料
ORACLE官網-ORACLE GRANT