我已经编辑了表格上的列。当开发人员尝试在 pkg 中使用“INSERT AS SELECT”命令时,他们得到:
ORA-28081: 权限不足 - 该命令引用了一个编辑对象。
除了授予架构豁免(完全不使用修订)之外,我还能做什么?
开发人员使用包但不应该看到表格内容
这是功能:
FUNCTION Create****Transaction (******PackageUserId NUMBER)
return NUMBER
IS
/*****************************
Local Variable Definitions
******************************/
v_****tId NUMBER(15);
BEGIN
v_****Id := ***_PKG.GETNEXTAMSSEQNUM();
INSERT INTO ****_AGENCY_PACK_USER_TRANS ****
(
****_ID,
****_****_ID,
****_BUS_ID,
****_ROLE_ID,
****_DATE_FROM,
****_DATE_TO,
****_ABBR,
****_NOTE,
****_CREATED_BY,
****_DATE_CREATED,
****_AUDIT_ACTION,
****_AUDIT_DATE,
****_AUDIT_LOCATION,
****_AUDIT_USER,
****_VER_NUM,
****_AMSS_ID,
****_WEBSERVICE,
****_APR_ID,
****_ASSIGN_RULE_ALLOWED,
****_SUP_TAG,
****_CPR
)
(
select
v_****Id,
****_ID,
****_BUS_ID,
****_ROLE_ID,
****_DATE_FROM,
****_DATE_TO,
****_ABBR,
****_NOTE, (THIS IS REDACTED ON THE TABLE)
****_CREATED_BY,
****_DATE_CREATED,
****_AUDIT_ACTION,
****_AUDIT_DATE,
****_AUDIT_LOCATION,
****_AUDIT_USER,
****_VER_NUM,
****_AMSS_ID,
****_WEBSERVICE,
****_APR_ID,
****_ASSIGN_RULE_ALLOWED,
****_SUP_TAG,
****_CPR
FROM
***********_PACKAGE_USERS
WHERE ****_ID = *****PackageUserId
);
if SQL%ROWCOUNT = 0 THEN
dbms_output.put_line('ERROR - no rows inserted!!');
return 0;
else
return v_****Id;
end if;
END Create****ransaction;