11g oracle 047題庫解析

賀子_DBA時代發表於2014-08-18

31. Which statements are true regarding the hierarchical query(級聯查詢) in Oracle Database 10g? (Choose all that apply.)
A. It is possible to retrieve data only in topdown hierarchy.
翻譯: 可以檢索top-down結構(由根到葉)的資料
解釋: 級聯查詢可以查詢top-down結構和bottom-up結構的資料。PRIOR關鍵詞用來指定誰是父記錄誰是子記錄。
B. It is possible to retrieve data in topdown or bottomup hierarchy.(right)
翻譯: 可以檢索top-down結構(由根到葉)或者bottom-up結構(即由葉到根)的資料
C. It is possible to remove an entire branch from the output of the hierarchical query.(right)
翻譯: 可以從級聯查詢德輸出結果中移除整個分支
解釋: 並不是刪除整個分支,而是在級聯查詢中去除,選擇性的顯示所需要的分支資訊,可以透過指定不同的root或者父記錄與子記錄間的關係
D. You cannot specify conditions when you retrieve data by using a hierarchical query
翻譯: 你用級聯查詢檢索資料時不能指定條件
解釋: 級聯查詢用START WITH指定根的條件,用CONNECT BY指定父記錄與子記錄之間的關係.
 
 
 
 
32. Which two statements are true regarding views? (Choose two.)
A. A simple view in which column aliases have been used cannot be updated
翻譯: 一張列的別名被使用的簡單檢視不能進行修改
解釋: 如果是簡單檢視的話,可以進行update操作,不管列是不是取了別名。
B. A subquery used in a complex view definition cannot contain group functions or joins.
翻譯: 在一個複雜的檢視定義下使用的子查詢不能包含聚合函式或者連線
解釋: 就是因為使用了聚合函式或者連線,所以才成為複雜的檢視。所以子查詢必須可以包含聚合函式或者連線
C. Rows cannot be deleted through a view if the view definition contains the DISTINCT keyword.(right)
翻譯: 如果檢視定義包含了DISTINCT關鍵字,那麼不能透過這個檢視刪除行。
解釋: 在包含DISTINCT關鍵字的檢視上不允許DML操作。
D. Rows added through a view are deleted from the table automatically when the view is dropped.
翻譯: 當檢視被刪除時,透過檢視新增的行將自動的從表中被刪除。
解釋: 透過檢視新增的行實際上是新增在檢視所指向的表上,所以刪除檢視對檢視基於的表沒有任何關聯操作。
E. The OR REPLACE option is used to change the definition of an existing view without dropping and recreating it.(right)
翻譯: OR REPLACE選項使用來改變一個已經存在的檢視的定義,不用刪除檢視再重新建立它。
F. The WITH CHECK OPTION constraint can be used in a view definition to restrict the columns displayed through the view.
翻譯: WITH CHECK OPTION約束可以被使用來在一個檢視定義中限制透過檢視顯示的列。
解釋: WITH CHECK OPTION約束是限制dml操作結果必須落在檢視範圍,而確定檢視顯示的列則是在建立檢視時指定的。
 
 
 
 
 
33. View the Exhibit and examine the details of the ORDER_ITEMS table.
Evaluate the following SQL statements:
Statement 1:
SELECT MAX(unit_price*quantity) "Maximum Order"
FROM order_items
對所有的行計算unit_price*quantity,輸出最大值(1行)
Statement 2:
SELECT MAX(unit_price*quantity) "Maximum Order"
FROM order_items
GROUP BY order_id
以order_id分組,計算unit_price*quantity,輸出各組最大值(3行)
Which statements are true regarding the output of these SQL statements? (Choose all that apply.)
A. Statement 1 would return only one row of output.(right)
B. Both the statements would give the same output.
翻譯: 2個語句給出相同的輸出
解釋: 語句1有1行輸出,語句2有3行輸出,不相同。
C. Statement 2 would return multiple rows of output.(right)
D. Statement 1 would not return any row because the GROUP BY clause is missing.
翻譯: 語句1不會返回任何行因為缺少GROUP BY條件
解釋: 沒有GROUP BY條件會計算unit_price*quantity,輸出所有行之中的最大值,所以有1行輸出
E. Both statements would ignore NULL values for the UNIT_PRICE and QUANTITY columns.(right)
 
 

34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables.
Evaluate the following SQL statement:
SELECT oi.order_id, product_id, order_date
FROM order_items oi JOIN orders o
USING(order_id)
Which statement is true regarding the execution of this SQL statement?
 
A. The statement would not execute because table aliases are not allowed in the JOIN clause.
翻譯: 語句不會被執行,因為join條件中不允許使用表的別名
解釋: 對錶起別名就是在join語句中指定的。
B. The statement would not execute because the table alias prefix is not used in the USING clause.
翻譯: 語句不會被執行,因為表的別名字首沒有在using條件中被使用
解釋: using條件是不能用表的別名修飾列名的,只有on條件要用表的別名修飾。
C. The statement would not execute because all the columns in the SELECT clause are not prefixed with table aliases.
翻譯: 語句不會被執行,因為select條件中所有的列沒有表的別名作為字首
解釋: 只有多個表的同名列需要用[表名.列名]來唯一確定。
D. The statement would not execute because the column part of the USING clause cannot have a qualifier in the SELECT list.(right)
翻譯: 語句不會被執行,因為using條件的列部分不能在select列表中有限定詞
 
 

35. Evaluate the following SQL statements in the given order:
DROP TABLE dept
CREATE TABLE dept(
   deptno NUMBER(3) PRIMARY KEY,
   deptname VARCHAR2(10)
  )
DROP TABLE dept
FLASHBACK TABLE dept TO BEFORE DROP
閃回表遵從同名表後進先出原則
對錶使用閃回要求該表的行移動為允許
alter table binzhang ENABLE ROW MOVEMENT
Which statement is true regarding the above FLASHBACK operation?
A. It recovers only the first DEPT table.
同名表後進先出原則,恢復第2個表
B. It recovers only the second DEPT table.(right)
C. It does not recover any of the tables because FLASHBACK is not possible in this case.
刪除表示僅用drop是可以使用flashback恢復的,用truncate table或者purge table無法恢復,
D. It recovers both the tables but the names would be changed to the ones assigned in the RECYCLEBIN.
閃回一次恢復一個,同名表閃回要rename to新表名

FLASHBACK TABLE   [ schema. ]table     [, [ schema. ]table ]...   TO { { SCN | TIMESTAMP } expr        [ { ENABLE | DISABLE } TRIGGERS ]      | BEFORE DROP [ RENAME TO table ]      } ;
flashback table test_purge to before drop;
flashback table test_purge to before drop rename to test_purge_old;
flashback table test_purge to SCN | TIMESTAMP
 
 
36. Evaluate the following statements:
CREATE TABLE digits(
   id NUMBER(2),
   description VARCHAR2(15)
   )
建立digits表
INSERT INTO digits VALUES (1,'ONE')
插入(1,'ONE')
UPDATE digits SET description ='TWO' WHERE id=1
將(1,'ONE')改為(1,'two')
INSERT INTO digits VALUES (2,'TWO')
插入(2,'TWO')
COMMIT
digits表中記錄為(1,'two'),(2,'TWO'),只有commit以後閃回版本查詢才能查詢到版本的更新
DELETE FROM digits
刪除2行,但是沒有commit,如果commit閃回版本查詢比原來就會多出2行"TWO"
SELECT description FROM digits
VERSIONS BETWEEN TIMESTAMP MINVALUE AND MAXVALUE
閃回版本查詢會記錄每次commit後各版本的差異,不提交沒記錄
What would be the outcome of the above query?
A. It would not display any values.
B. It would display the value TWO once.
C. It would display the value TWO twice.(right)
D. It would display the values ONE, TWO, and TWO.
 
 
 
 

37. View the Exhibit and examine the description of the ORDERS table.
Evaluate the following SQL statement:
SELECT order_id, customer_id
FROM orders
WHERE order_date > 'June 30 2001'
order_date是timestamp型別,'June 30 2001'是字串.
Oracle不會自動轉換,要顯式呼叫to_date()或者to_char()
Which statement is true regarding the execution of this SQL statement?

A. It would not execute because 'June 30 2001' in the WHERE condition is not enclosed within double quotation marks.
翻譯: 它將不會執行因為在where條件中的'June 30 2001'沒有被雙引號封閉
解釋: sql裡的字串時用單引號修飾
B. It would execute and would return ORDER_ID and CUSTOMER_ID for all records having ORDER_DATE greater than 'June 30 2001'.
翻譯: 他將執行並返回所有ORDER_DATE大於'June 30 2001'的記錄的ORDER_ID和CUSTOMER_ID
解釋: 本語句執行會報錯,因為日期和字串oracle不會隱式轉換
C. It would not execute because 'June 30 2001' in the WHERE condition cannot be converted implicitly and needs the use of the TO_DATE conversion function for proper execution.(right)
翻譯: 它將不會執行因為在where條件中的'June 30 2001'不能隱式轉換並且需要使用TO_DATE轉換函式恰當的執行
D. It would not execute because 'June 30 2001' in the WHERE condition cannot be converted implicitly and needs the use of the TO_CHAR conversion function for proper execution.
翻譯: 它將不會執行因為在where條件中的'June 30 2001'不能隱式轉換並且需要使用TO_CHAR轉換函式恰當的執行
解釋: 'June 30 2001'是字串,對其使用to_char()是沒有意義的,應該使用to_date(),也不能對order_date使用to_char(),因為字串作比較是比ascii碼,不會比英語單詞意思的
 
 
 
 
 
38. Which statements are correct regarding indexes? (Choose all that apply.)
A. When a table is dropped, the corresponding indexes are automatically dropped.(right)
翻譯: 當表被刪除時,對應的索引也自動被刪除.
B. For each DML operation performed, the corresponding indexes are automatically updated.(right)
翻譯: 每條DML操作執行,對應的索引都會自動更新
C. Indexes should be created on columns that are frequently referenced as part of an expression.
翻譯: 索引必須建立在頻繁的作為表示式的一部份被引用的列上 
解釋: 建議為頻繁使用的列建立索引,但是這不是強制性的,頻繁使用的列可以不建索引,索引可以建在任何列上
D. A nondeferrable PRIMARY KEY or UNIQUE KEY constraint in a table automatically creates a unique index.(right)
翻譯: 一個表中的一個不可延時的主鍵或者唯一鍵約束會自動建立一個唯一索引
 
39. View the Exhibit and examine the description of the PRODUCT_INFORMATION table.
Which SQL statement would retrieve(檢索) from the table the number of products having LIST_PRICE as NULL?
比較null值用is NULL,任何NULL不等於其他NULL,使用count(列名)會忽略列中值為NULL的行,count(*)返回記錄數,NULL也算一條記錄
A. SELECT COUNT(list_price)
FROM product_information
WHERE list_price IS NULL
解釋: COUNT(list_price)返回list_price不為NULL的個數
B. SELECT COUNT(list_price)
FROM product_information
WHERE list_price = NULL
解釋: 值為NULL寫作is NULL,不可寫為= NULL
C. SELECT COUNT(NVL(list_price, 0))(right)
FROM product_information
WHERE list_price IS NULL
解釋: nvl(arg,value)代表如果前面的arg的值為null那麼返回的值為後面的value
D. SELECT COUNT(DISTINCT list_price)
FROM product_information
WHERE list_price IS NULL
解釋: DISTINCT是去除重複的關鍵字,不管有沒有DISTINCT關鍵字,count()都返回不是null的個數,
 
 
40. User OE, the owner of the ORDERS table, issues the following command:
GRANT SELECT,INSERT ON orders TO hr WITH GRANT OPTION
授予hr對錶orders的SELECT,INSERT許可權,並且授予hr將這些許可權授予別人的許可權
The user HR issues the following command:
GRANT SELECT ON oe.orders TO scott
授予scott對錶oe.orders的SELECT許可權
Then, OE issues the following command:
REVOKE ALL ON orders FROM hr
撤銷hr對錶orders的所有許可權
WITH GRANT OPTION只能在賦予 object privilege 的時使用,撤銷時有連帶效果oe>>hr>>scott
Which statement is correct?
A. The user SCOTT loses the privilege to select rows from OE.ORDERS.(right)
B. The user SCOTT retains the privilege to select rows from OE.ORDERS.
翻譯: SCOTT保留了對OE.ORDERS表的select許可權
解釋: 物件許可權撤銷時會連帶撤銷透過WITH GRANT OPTION傳遞的許可權
C. The REVOKE statement generates an error because OE has to first revoke the SELECT privilege from SCOTT.
翻譯: 撤銷語句產生一個錯誤,因為OE要先撤銷scott的select許可權
解釋: 撤銷任何許可權時都不會要求先撤銷其他透過WITH ADMIN/GRANT OPTION獲得許可權的使用者/角色
D. The REVOKE statement generates an error because the ALL keyword cannot be used for privileges
翻譯: 撤銷語句產生一個錯誤,因為關鍵詞ALL不能用於許可權
解釋: GRANT ALL PRIVILEGES TO user/role/public [IDENTIFIED BY password] [WITH ADMIN OPTION]
      GRANT ALL PRIVILEGES ON [schema.]object TO user/role/public [WITH GRANT OPTION] [WITH HIERARCHY OPTION]

31. Which statements are true regarding the hierarchical query(級聯查詢) in Oracle Database 10g? (Choose all that apply.)
A. It is possible to retrieve data only in topdown hierarchy.
翻譯: 可以檢索top-down結構(由根到葉)的資料
解釋: 級聯查詢可以查詢top-down結構和bottom-up結構的資料。PRIOR關鍵詞用來指定誰是父記錄誰是子記錄。
B. It is possible to retrieve data in topdown or bottomup hierarchy.(right)
翻譯: 可以檢索top-down結構(由根到葉)或者bottom-up結構(即由葉到根)的資料
C. It is possible to remove an entire branch from the output of the hierarchical query.(right)
翻譯: 可以從級聯查詢德輸出結果中移除整個分支
解釋: 並不是刪除整個分支,而是在級聯查詢中去除,選擇性的顯示所需要的分支資訊,可以透過指定不同的root或者父記錄與子記錄間的關係
D. You cannot specify conditions when you retrieve data by using a hierarchical query
翻譯: 你用級聯查詢檢索資料時不能指定條件
解釋: 級聯查詢用START WITH指定根的條件,用CONNECT BY指定父記錄與子記錄之間的關係.
 
 
 
 
32. Which two statements are true regarding views? (Choose two.)
A. A simple view in which column aliases have been used cannot be updated
翻譯: 一張列的別名被使用的簡單檢視不能進行修改
解釋: 如果是簡單檢視的話,可以進行update操作,不管列是不是取了別名。
B. A subquery used in a complex view definition cannot contain group functions or joins.
翻譯: 在一個複雜的檢視定義下使用的子查詢不能包含聚合函式或者連線
解釋: 就是因為使用了聚合函式或者連線,所以才成為複雜的檢視。所以子查詢必須可以包含聚合函式或者連線
C. Rows cannot be deleted through a view if the view definition contains the DISTINCT keyword.(right)
翻譯: 如果檢視定義包含了DISTINCT關鍵字,那麼不能透過這個檢視刪除行。
解釋: 在包含DISTINCT關鍵字的檢視上不允許DML操作。
D. Rows added through a view are deleted from the table automatically when the view is dropped.
翻譯: 當檢視被刪除時,透過檢視新增的行將自動的從表中被刪除。
解釋: 透過檢視新增的行實際上是新增在檢視所指向的表上,所以刪除檢視對檢視基於的表沒有任何關聯操作。
E. The OR REPLACE option is used to change the definition of an existing view without dropping and recreating it.(right)
翻譯: OR REPLACE選項使用來改變一個已經存在的檢視的定義,不用刪除檢視再重新建立它。
F. The WITH CHECK OPTION constraint can be used in a view definition to restrict the columns displayed through the view.
翻譯: WITH CHECK OPTION約束可以被使用來在一個檢視定義中限制透過檢視顯示的列。
解釋: WITH CHECK OPTION約束是限制dml操作結果必須落在檢視範圍,而確定檢視顯示的列則是在建立檢視時指定的。
 
 
 
 
 
33. View the Exhibit and examine the details of the ORDER_ITEMS table.
Evaluate the following SQL statements:
Statement 1:
SELECT MAX(unit_price*quantity) "Maximum Order"
FROM order_items
對所有的行計算unit_price*quantity,輸出最大值(1行)
Statement 2:
SELECT MAX(unit_price*quantity) "Maximum Order"
FROM order_items
GROUP BY order_id
以order_id分組,計算unit_price*quantity,輸出各組最大值(3行)
Which statements are true regarding the output of these SQL statements? (Choose all that apply.)
A. Statement 1 would return only one row of output.(right)
B. Both the statements would give the same output.
翻譯: 2個語句給出相同的輸出
解釋: 語句1有1行輸出,語句2有3行輸出,不相同。
C. Statement 2 would return multiple rows of output.(right)
D. Statement 1 would not return any row because the GROUP BY clause is missing.
翻譯: 語句1不會返回任何行因為缺少GROUP BY條件
解釋: 沒有GROUP BY條件會計算unit_price*quantity,輸出所有行之中的最大值,所以有1行輸出
E. Both statements would ignore NULL values for the UNIT_PRICE and QUANTITY columns.(right)
 
 

34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables.
Evaluate the following SQL statement:
SELECT oi.order_id, product_id, order_date
FROM order_items oi JOIN orders o
USING(order_id)
Which statement is true regarding the execution of this SQL statement?
 
A. The statement would not execute because table aliases are not allowed in the JOIN clause.
翻譯: 語句不會被執行,因為join條件中不允許使用表的別名
解釋: 對錶起別名就是在join語句中指定的。
B. The statement would not execute because the table alias prefix is not used in the USING clause.
翻譯: 語句不會被執行,因為表的別名字首沒有在using條件中被使用
解釋: using條件是不能用表的別名修飾列名的,只有on條件要用表的別名修飾。
C. The statement would not execute because all the columns in the SELECT clause are not prefixed with table aliases.
翻譯: 語句不會被執行,因為select條件中所有的列沒有表的別名作為字首
解釋: 只有多個表的同名列需要用[表名.列名]來唯一確定。
D. The statement would not execute because the column part of the USING clause cannot have a qualifier in the SELECT list.(right)
翻譯: 語句不會被執行,因為using條件的列部分不能在select列表中有限定詞
 
 

35. Evaluate the following SQL statements in the given order:
DROP TABLE dept
CREATE TABLE dept(
   deptno NUMBER(3) PRIMARY KEY,
   deptname VARCHAR2(10)
  )
DROP TABLE dept
FLASHBACK TABLE dept TO BEFORE DROP
閃回表遵從同名表後進先出原則
對錶使用閃回要求該表的行移動為允許
alter table binzhang ENABLE ROW MOVEMENT
Which statement is true regarding the above FLASHBACK operation?
A. It recovers only the first DEPT table.
同名表後進先出原則,恢復第2個表
B. It recovers only the second DEPT table.(right)
C. It does not recover any of the tables because FLASHBACK is not possible in this case.
刪除表示僅用drop是可以使用flashback恢復的,用truncate table或者purge table無法恢復,
D. It recovers both the tables but the names would be changed to the ones assigned in the RECYCLEBIN.
閃回一次恢復一個,同名表閃回要rename to新表名

FLASHBACK TABLE   [ schema. ]table     [, [ schema. ]table ]...   TO { { SCN | TIMESTAMP } expr        [ { ENABLE | DISABLE } TRIGGERS ]      | BEFORE DROP [ RENAME TO table ]      } ;
flashback table test_purge to before drop;
flashback table test_purge to before drop rename to test_purge_old;
flashback table test_purge to SCN | TIMESTAMP
 
 
36. Evaluate the following statements:
CREATE TABLE digits(
   id NUMBER(2),
   description VARCHAR2(15)
   )
建立digits表
INSERT INTO digits VALUES (1,'ONE')
插入(1,'ONE')
UPDATE digits SET description ='TWO' WHERE id=1
將(1,'ONE')改為(1,'two')
INSERT INTO digits VALUES (2,'TWO')
插入(2,'TWO')
COMMIT
digits表中記錄為(1,'two'),(2,'TWO'),只有commit以後閃回版本查詢才能查詢到版本的更新
DELETE FROM digits
刪除2行,但是沒有commit,如果commit閃回版本查詢比原來就會多出2行"TWO"
SELECT description FROM digits
VERSIONS BETWEEN TIMESTAMP MINVALUE AND MAXVALUE
閃回版本查詢會記錄每次commit後各版本的差異,不提交沒記錄
What would be the outcome of the above query?
A. It would not display any values.
B. It would display the value TWO once.
C. It would display the value TWO twice.(right)
D. It would display the values ONE, TWO, and TWO.
 
 
 
 

37. View the Exhibit and examine the description of the ORDERS table.
Evaluate the following SQL statement:
SELECT order_id, customer_id
FROM orders
WHERE order_date > 'June 30 2001'
order_date是timestamp型別,'June 30 2001'是字串.
Oracle不會自動轉換,要顯式呼叫to_date()或者to_char()
Which statement is true regarding the execution of this SQL statement?

A. It would not execute because 'June 30 2001' in the WHERE condition is not enclosed within double quotation marks.
翻譯: 它將不會執行因為在where條件中的'June 30 2001'沒有被雙引號封閉
解釋: sql裡的字串時用單引號修飾
B. It would execute and would return ORDER_ID and CUSTOMER_ID for all records having ORDER_DATE greater than 'June 30 2001'.
翻譯: 他將執行並返回所有ORDER_DATE大於'June 30 2001'的記錄的ORDER_ID和CUSTOMER_ID
解釋: 本語句執行會報錯,因為日期和字串oracle不會隱式轉換
C. It would not execute because 'June 30 2001' in the WHERE condition cannot be converted implicitly and needs the use of the TO_DATE conversion function for proper execution.(right)
翻譯: 它將不會執行因為在where條件中的'June 30 2001'不能隱式轉換並且需要使用TO_DATE轉換函式恰當的執行
D. It would not execute because 'June 30 2001' in the WHERE condition cannot be converted implicitly and needs the use of the TO_CHAR conversion function for proper execution.
翻譯: 它將不會執行因為在where條件中的'June 30 2001'不能隱式轉換並且需要使用TO_CHAR轉換函式恰當的執行
解釋: 'June 30 2001'是字串,對其使用to_char()是沒有意義的,應該使用to_date(),也不能對order_date使用to_char(),因為字串作比較是比ascii碼,不會比英語單詞意思的
 
 
 
 
 
38. Which statements are correct regarding indexes? (Choose all that apply.)
A. When a table is dropped, the corresponding indexes are automatically dropped.(right)
翻譯: 當表被刪除時,對應的索引也自動被刪除.
B. For each DML operation performed, the corresponding indexes are automatically updated.(right)
翻譯: 每條DML操作執行,對應的索引都會自動更新
C. Indexes should be created on columns that are frequently referenced as part of an expression.
翻譯: 索引必須建立在頻繁的作為表示式的一部份被引用的列上 
解釋: 建議為頻繁使用的列建立索引,但是這不是強制性的,頻繁使用的列可以不建索引,索引可以建在任何列上
D. A nondeferrable PRIMARY KEY or UNIQUE KEY constraint in a table automatically creates a unique index.(right)
翻譯: 一個表中的一個不可延時的主鍵或者唯一鍵約束會自動建立一個唯一索引
 
39. View the Exhibit and examine the description of the PRODUCT_INFORMATION table.
Which SQL statement would retrieve(檢索) from the table the number of products having LIST_PRICE as NULL?
比較null值用is NULL,任何NULL不等於其他NULL,使用count(列名)會忽略列中值為NULL的行,count(*)返回記錄數,NULL也算一條記錄
A. SELECT COUNT(list_price)
FROM product_information
WHERE list_price IS NULL
解釋: COUNT(list_price)返回list_price不為NULL的個數
B. SELECT COUNT(list_price)
FROM product_information
WHERE list_price = NULL
解釋: 值為NULL寫作is NULL,不可寫為= NULL
C. SELECT COUNT(NVL(list_price, 0))(right)
FROM product_information
WHERE list_price IS NULL
解釋: nvl(arg,value)代表如果前面的arg的值為null那麼返回的值為後面的value
D. SELECT COUNT(DISTINCT list_price)
FROM product_information
WHERE list_price IS NULL
解釋: DISTINCT是去除重複的關鍵字,不管有沒有DISTINCT關鍵字,count()都返回不是null的個數,
 
 
40. User OE, the owner of the ORDERS table, issues the following command:
GRANT SELECT,INSERT ON orders TO hr WITH GRANT OPTION
授予hr對錶orders的SELECT,INSERT許可權,並且授予hr將這些許可權授予別人的許可權
The user HR issues the following command:
GRANT SELECT ON oe.orders TO scott
授予scott對錶oe.orders的SELECT許可權
Then, OE issues the following command:
REVOKE ALL ON orders FROM hr
撤銷hr對錶orders的所有許可權
WITH GRANT OPTION只能在賦予 object privilege 的時使用,撤銷時有連帶效果oe>>hr>>scott
Which statement is correct?
A. The user SCOTT loses the privilege to select rows from OE.ORDERS.(right)
B. The user SCOTT retains the privilege to select rows from OE.ORDERS.
翻譯: SCOTT保留了對OE.ORDERS表的select許可權
解釋: 物件許可權撤銷時會連帶撤銷透過WITH GRANT OPTION傳遞的許可權
C. The REVOKE statement generates an error because OE has to first revoke the SELECT privilege from SCOTT.
翻譯: 撤銷語句產生一個錯誤,因為OE要先撤銷scott的select許可權
解釋: 撤銷任何許可權時都不會要求先撤銷其他透過WITH ADMIN/GRANT OPTION獲得許可權的使用者/角色
D. The REVOKE statement generates an error because the ALL keyword cannot be used for privileges
翻譯: 撤銷語句產生一個錯誤,因為關鍵詞ALL不能用於許可權
解釋: GRANT ALL PRIVILEGES TO user/role/public [IDENTIFIED BY password] [WITH ADMIN OPTION]
      GRANT ALL PRIVILEGES ON [schema.]object TO user/role/public [

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29654823/viewspace-1253409/,如需轉載,請註明出處,否則將追究法律責任。

相關文章