मेरा सवाल यह है कि कैसे बनाने के लिए एक VPD में ओरेकल एसक्यूएल के साथ होगा कि यह भी मुखौटा डेटा

0

सवाल

मैं कोशिश कर रहा हूँ बनाने के लिए एक VPD में ओरेकल एसक्यूएल बयान का उपयोग कर. इस समस्या के उद्देश्य है, तो एक कर्मचारी केवल रिकॉर्ड देखने के लिए कर्मचारियों को एक ही विभाग में है, जबकि मास्किंग अपने सहकर्मी के वेतन के रूप में अशक्त.

कोड तालिका के लिए इस्तेमाल किया जा रहा है के रूप में इस प्रकार है

create table Employee
(
    ID number primary key,
    DEPT varchar2(25),
    SALARY number(8,2),
    NAME varchar2(25)
); 

मैं अनिश्चित हूँ क्या सबसे अच्छा तरीका है जाने के लिए कर के बारे में इस तरह होगा.... यह होगा बनाने के लिए एक पैकेज का उपयोग करें और एक आवेदन पत्र के संदर्भ में. मुझे विश्वास है कि हो रही करने के लिए मेज केवल प्रदर्शन उन में एक ही "विभाग" मैं समझता हूँ, लेकिन अनिश्चित कैसे मुखौटा करने के लिए डेटा के उन लोगों के साथ एक ही विभाग में है, लेकिन अलग अलग आईडी.

data-masking oracle sql vpd
2021-11-16 18:11:02
1

सबसे अच्छा जवाब

0

देशी आरएलएस मिल जाएगा आप के करीब है, लेकिन नहीं पूरी तरह से वहाँ. का उपयोग कर "sec_relevant_cols" आप विकल्प दे देंगे के बीच

  • केवल देखने की पंक्तियों से मेल कि अपने विधेय, लेकिन सभी मूल्यों मौजूद हैं
  • देखकर सभी पंक्तियाँ, लेकिन मास्किंग मूल्यों से मेल नहीं है कि अपने विधेय

जबकि (यदि मैं पढ़ रहा हूँ सही ढंग से) आप चाहते हैं को देखने के लिए केवल विधेय मिलान पंक्तियों और मुखौटा बाहर कुछ मूल्यों के रूप में अच्छी तरह से.

आप इस लक्ष्य को हासिल करने के साथ एक दो कदम विधि

  1. अपने संदर्भ शामिल हैं दो कुंजियों (कहते हैं) DEPT और YOUR_ID

  2. के आरएलएस नीति है "जहां विभाग = sys_context(ctx,'विभाग')"

  3. आप एक दृश्य है EMP करने के लिए जो कि नीति लागू किया जाता है, किया जा रहा है

     select 
       id, 
       dept, 
       name,
       case when id = sys_context(ctx,'YOUR_ID') then sal else null end sal
     from EMP_TABLE
    
2021-11-17 05:57:22

मैं इसे एक शॉट देना! मैं का उपयोग कर रहा था एक संदर्भ की अनुमति दी है कि मुझे पाने के लिए विभाग के मूल्य से जो कोई भी लॉग इन किया है! मैं अनजान था मैं इसे इस्तेमाल कर सकते करने के लिए लाभ का एक और एक के रूप में अच्छी तरह से... क्या यह संभव है कि ऐसा करने के लिए सभी के भीतर एक ही पैकेज में?
Venzie

हाँ, संदर्भ के लिए बाध्य है, पैकेज नहीं कुंजी/मान के संदर्भ के भीतर. एक संदर्भ हो सकता है कई कुंजी/मान. "USERENV" का एक उत्कृष्ट उदाहरण है कि
Connor McDonald

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में