57 lines
1.8 KiB
SQL
Executable File
57 lines
1.8 KiB
SQL
Executable File
WHENEVER SQLERROR EXIT SQL.SQLCODE
|
|
|
|
CREATE OR REPLACE DATA GRANT legacy_sales_customer_access
|
|
AS SELECT (customer_id, customer_name, country, region, account_owner, risk_rating, revenue)
|
|
ON dds_legacy_customers
|
|
WHERE account_owner = ORA_END_USER_CONTEXT.username
|
|
TO legacy_sales_rep_role;
|
|
|
|
CREATE OR REPLACE DATA GRANT legacy_manager_customer_access
|
|
AS SELECT (ALL COLUMNS EXCEPT legal_hold)
|
|
ON dds_legacy_customers
|
|
WHERE country = 'Brazil'
|
|
TO legacy_brazil_manager_role;
|
|
|
|
CREATE OR REPLACE DATA GRANT legacy_support_customer_access
|
|
AS SELECT (customer_id, customer_name, country, region, account_owner, risk_rating)
|
|
ON dds_legacy_customers
|
|
WHERE region = 'LATAM'
|
|
TO legacy_support_role;
|
|
|
|
CREATE OR REPLACE DATA GRANT legacy_legal_customer_access
|
|
AS SELECT
|
|
ON dds_legacy_customers
|
|
WHERE legal_hold = 'Y'
|
|
TO legacy_legal_role;
|
|
|
|
CREATE OR REPLACE DATA GRANT legacy_sales_contract_access
|
|
AS SELECT (contract_id, customer_id, contract_status, renewal_date, contract_value)
|
|
ON dds_legacy_contracts
|
|
WHERE customer_id IN (
|
|
SELECT customer_id FROM dds_legacy_customers
|
|
WHERE account_owner = ORA_END_USER_CONTEXT.username
|
|
)
|
|
TO legacy_sales_rep_role;
|
|
|
|
CREATE OR REPLACE DATA GRANT legacy_legal_contract_access
|
|
AS SELECT
|
|
ON dds_legacy_contracts
|
|
WHERE customer_id IN (
|
|
SELECT customer_id FROM dds_legacy_customers
|
|
WHERE legal_hold = 'Y'
|
|
)
|
|
TO legacy_legal_role;
|
|
|
|
CREATE OR REPLACE DATA GRANT legacy_support_ticket_access
|
|
AS SELECT (ticket_id, customer_id, assigned_group, severity, summary)
|
|
ON dds_legacy_tickets
|
|
WHERE assigned_group = 'SUPPORT'
|
|
TO legacy_support_role;
|
|
|
|
BEGIN
|
|
EXECUTE IMMEDIATE 'SET USE DATA GRANTS ONLY ON dds_legacy_customers ENABLED';
|
|
EXECUTE IMMEDIATE 'SET USE DATA GRANTS ONLY ON dds_legacy_contracts ENABLED';
|
|
EXECUTE IMMEDIATE 'SET USE DATA GRANTS ONLY ON dds_legacy_tickets ENABLED';
|
|
END;
|
|
/
|