久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

怎么理解數(shù)據(jù)庫的定義者權限與使用者權限

173次閱讀
沒有評論

共計 2321 個字符,預計需要花費 6 分鐘才能閱讀完成。

本篇內容介紹了“怎么理解數(shù)據(jù)庫的定義者權限與使用者權限”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

我在 HR 模式下運行了下列語句(沒有發(fā)生錯誤):

CREATE TABLE plch_parts
 partnum NUMBER
, partname VARCHAR2 (50)
BEGIN
 INSERT INTO plch_parts
 VALUES (123,  Steering Wheel 
 INSERT INTO plch_parts
 VALUES (456,  Brake Pedal 
 COMMIT;
CREATE OR REPLACE TYPE plch_numbers_t IS TABLE OF NUMBER
CREATE OR REPLACE FUNCTION plch_func
 RETURN plch_numbers_t
 AUTHID CURRENT_USER
 l_numbers plch_numbers_t;
BEGIN
 SELECT partnum
 BULK COLLECT INTO l_numbers
 FROM plch_parts;
 RETURN l_numbers;
CREATE OR REPLACE VIEW plch_func_v
 SELECT COLUMN_VALUE partnum FROM TABLE (plch_func ())
GRANT SELECT ON plch_func_v TO scott
GRANT EXECUTE ON plch_func TO scott
/

然后我又連接到 SCOTT 模式并執(zhí)行如下語句:

CREATE TABLE plch_parts
 partnum NUMBER
, partname VARCHAR2 (50)
BEGIN
 INSERT INTO plch_parts
 VALUES (100,  Tire 
 INSERT INTO plch_parts
 VALUES (101,  Battery 
 COMMIT;
/

哪些選項顯示了下列語句塊執(zhí)行后屏幕上的輸出結果?

BEGIN
 DBMS_OUTPUT.put_line ( Two Cursor For Loops.... 
 FOR rec IN ( SELECT p.partname
 FROM TABLE (hr.plch_func) v, plch_parts p
 WHERE v.column_value = p.partnum
 ORDER BY p.partnum)
 LOOP
 DBMS_OUTPUT.put_line (rec.partname);
 END LOOP;
 FOR rec IN ( SELECT p.partname
 FROM hr.plch_func_v v, plch_parts p
 WHERE v.partnum = p.partnum
 ORDER BY p.partnum)
 LOOP
 DBMS_OUTPUT.put_line (rec.partname);
 END LOOP;
/

(A)

Two Cursor For Loops....
Steering Wheel
Brake Pedal

(B)

An unhandled exception:
PLS-00158: AUTHID CURRENT_USER subprograms not allowed in views

(C)

Two Cursor For Loops....
Battery

(D)

Two Cursor For Loops....
Battery
Steering Wheel
Brake Pedal

(E)

Two Cursor For Loops....
Battery
Battery

實測答案 C

SQL  BEGIN
 2 DBMS_OUTPUT.put_line ( Two Cursor For Loops.... 
 3 
 4 FOR rec IN ( SELECT p.partname
 5 FROM TABLE (yoga.plch_func) v, plch_parts p
 6 WHERE v.column_value = p.partnum
 7 ORDER BY p.partnum)
 8 LOOP
 9 DBMS_OUTPUT.put_line (rec.partname);
 10 END LOOP;
 11 
 12 FOR rec IN ( SELECT p.partname
 13 FROM yoga.plch_func_v v, plch_parts p
 14 WHERE v.partnum = p.partnum
 15 ORDER BY p.partnum)
 16 LOOP
 17 DBMS_OUTPUT.put_line (rec.partname);
 18 END LOOP;
 19 END;
 20 /
Two Cursor For Loops....
Battery
PL/SQL procedure successfully completed
SQL 

答案 C.

一個定義為調用者權限(AUTHID CURRENT_USER)的函數(shù),如果它在一個 VIEW 或者觸發(fā)器中被調用,這時是按照定義者的權限來運作的,所以你通過 VIEW 看到的將是 OWNER 的數(shù)據(jù),而不是當前用戶的數(shù)據(jù)。

“怎么理解數(shù)據(jù)庫的定義者權限與使用者權限”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注丸趣 TV 網(wǎng)站,丸趣 TV 小編將為大家輸出更多高質量的實用文章!

正文完
 
丸趣
版權聲明:本站原創(chuàng)文章,由 丸趣 2023-07-26發(fā)表,共計2321字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網(wǎng)絡搜集發(fā)布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 长子县| 罗定市| 舟曲县| 兴城市| 宁化县| 霞浦县| 金昌市| 汉阴县| 清河县| 玉树县| 波密县| 盐池县| 丰顺县| 湖南省| 沁源县| 郴州市| 中超| 永昌县| 乐业县| 高雄市| 淮阳县| 吉林省| 天等县| 舟山市| 正安县| 运城市| 黄石市| 安塞县| 车致| 浦城县| 慈利县| 绿春县| 静海县| 全南县| 嵊泗县| 克东县| 潜山县| 凉城县| 扎兰屯市| 常熟市| 军事|