Fix PII lab persona tests
Some checks failed
Repo Quality / structure (push) Has been cancelled

This commit is contained in:
2026-05-18 12:02:13 -03:00
parent 2188ea8e58
commit 07390ff902
6 changed files with 53 additions and 21 deletions

View File

@@ -1,13 +1,22 @@
WHENEVER SQLERROR EXIT SQL.SQLCODE
CREATE TABLE dds_employees (
employee_id NUMBER PRIMARY KEY,
first_name VARCHAR2(50) NOT NULL,
last_name VARCHAR2(50) NOT NULL,
email VARCHAR2(80) NOT NULL,
manager VARCHAR2(80),
ssn VARCHAR2(30),
salary NUMBER(12,2),
phone VARCHAR2(30)
);
BEGIN
EXECUTE IMMEDIATE q'[
CREATE TABLE dds_employees (
employee_id NUMBER PRIMARY KEY,
first_name VARCHAR2(50) NOT NULL,
last_name VARCHAR2(50) NOT NULL,
email VARCHAR2(80) NOT NULL,
manager VARCHAR2(80),
ssn VARCHAR2(30),
salary NUMBER(12,2),
phone VARCHAR2(30)
)
]';
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE != -955 THEN
RAISE;
END IF;
END;
/

View File

@@ -1,5 +1,7 @@
WHENEVER SQLERROR EXIT SQL.SQLCODE
DELETE FROM dds_employees;
INSERT INTO dds_employees VALUES (100, 'Victoria', 'Williams', 'victoria', NULL, '219-09-9999', 13000, '555-0100');
INSERT INTO dds_employees VALUES (200, 'Marvin', 'Anderson', 'marvin', 'victoria', '457-55-5462', 12030, '555-0200');
INSERT INTO dds_employees VALUES (300, 'Chris', 'Evans', 'chris', 'victoria', '321-12-4567', 6900, '555-0300');
@@ -7,4 +9,3 @@ INSERT INTO dds_employees VALUES (400, 'Emma', 'Baker', 'emma', 'marvin', '733-0
INSERT INTO dds_employees VALUES (500, 'Taylor', 'Mills', 'taylor', 'marvin', '558-76-1243', 9000, '555-0500');
COMMIT;

View File

@@ -3,13 +3,13 @@ WHENEVER SQLERROR EXIT SQL.SQLCODE
CREATE OR REPLACE DATA GRANT employees_own_record
AS SELECT, UPDATE (phone)
ON dds_employees
WHERE email = ORA_END_USER_CONTEXT.username
WHERE UPPER(email) = ORA_END_USER_CONTEXT.username
TO employee_role;
CREATE OR REPLACE DATA GRANT manager_direct_reports
AS SELECT (ALL COLUMNS EXCEPT ssn), UPDATE (salary)
ON dds_employees
WHERE manager = ORA_END_USER_CONTEXT.username
WHERE UPPER(manager) = ORA_END_USER_CONTEXT.username
TO manager_role;
CREATE OR REPLACE DATA GRANT hr_all_employees

View File

@@ -6,9 +6,3 @@ ALTER SESSION SET CURRENT_SCHEMA = ADMIN;
SELECT employee_id, first_name, last_name, email, manager, ssn, salary, phone
FROM dds_employees
ORDER BY employee_id;
UPDATE dds_employees
SET phone = '555-9999'
WHERE email = ORA_END_USER_CONTEXT.username;
COMMIT;

View File

@@ -0,0 +1,17 @@
SET PAGESIZE 100
SET LINESIZE 200
ALTER SESSION SET CURRENT_SCHEMA = ADMIN;
PROMPT Employee self-service update: change own phone number.
UPDATE dds_employees
SET phone = '555-9999'
WHERE UPPER(email) = ORA_END_USER_CONTEXT.username;
COMMIT;
SELECT employee_id, first_name, last_name, email, phone
FROM dds_employees
WHERE UPPER(email) = ORA_END_USER_CONTEXT.username
ORDER BY employee_id;