私人

2015-10-07 70 views
1

我使用下面的代碼來創建一個對象私人

CREATE OR REPLACE TYPE sales_object IS OBJECT (
    dates DATE, 
    product_id VARCHAR2(20), 
    product_name VARCHAR2(50), 
    sale DECIMAL(15,2) 
); 

裏面我是用創建一個表與下面的代碼現在正在使用

CREATE OR REPLACE TYPE year_sales_tab IS TABLE OF sales_object; 

這個表如何申報對象在一個函數中存儲和返回一個網格。

如果有什麼辦法可以創建sales_object作爲私有?

+0

可以將對象是私有的? – pablomatico

回答

0

如果有任何的方式來創建sales_object爲私有?

是。

而不是創造型sales_object爲OBJECT,塑造其作爲一個RECORD,並在代碼中使用它。當您創建爲對象時,它將存儲在數據庫中,而如果您創建爲記錄,則只能在代碼中使用,而不能在其他位置使用。

TYPE sales_object 
IS 
    RECORD 
    (
    DATES  DATE, 
    PRODUCT_ID VARCHAR2(20), 
    PRODUCT_NAME VARCHAR2(50), 
    sale   DECIMAL(15,2) 
); 

更新 OP實際上談論的特權。

你可以簡單地通過登錄爲用戶創建的類型要E中給出的特權,這樣做只有當前用戶將具有所有者權限,而其他用戶無法訪問該對象。

如果您打算授予權限給特定的用戶,然後

GRANT EXECUTE ON "USER"."TYPENAME" TO "OTHER_USER"; 
+0

它給下面的警告 '遭遇「RECORD」在需要下列之一時的符號:固定不同不透明稀疏符號數組VARRAY表對象記錄‘「對象之前插入’到continue.' 我只是想 –

+0

如果你想要這種模式級別的隱私,這一切都取決於你提供的GRANTS,如果訪問GRANTS給其他USERS,他們可以使用,否則他們可以' T. –

+0

@ShobhitVarshney查看更新。 –