如果我创建了一个过程:
CREATE OR REPLACE PROCEDURE SchameB.PRC_GATHER_STATS IS
BEGIN
SYS.DBMS_STATS.GATHER_TABLE_STATS( 'SchName', 'TableName', CASCADE => TRUE);
END;
执行它;
EXEC SchameB.PRC_GATHER_STATS;
这会给我一个错误:ORA-20000: 无法分析表 "SchameA"."TableName",权限不足或不存在
。但是这个可以正常工作:
EXEC SYS.DBMS_STATS.GATHER_TABLE_STATS( 'SchameA', 'TableName', CASCADE => TRUE);
执行存储过程的用户和表位于不同的模式中。
为什么执行该存储过程时会出现错误?