【发布时间】:2019-03-27 08:38:16
【问题描述】:
当我在块外写查询时可以查看结果,但在函数内写会显示错误。
SELECT max(logid) FROM hawk.log_patch_execution_result;
输出:
461
功能:
CREATE OR REPLACE FUNCTION latest_log_id RETURN NUMBER IS
v_log_id NUMBER;
v_sql VARCHAR2(4000);
BEGIN
SELECT max(logid) INTO v_log_id FROM hawk.log_patch_execution_result;
RETURN v_log_id;
END latest_log_id;
/
输出:
Create function, executed in 16 ms
PL/SQL: ORA-00942: table or view does not exist
PL/SQL: SQL Statement ignored
Total execution time 16 ms
【问题讨论】:
-
请从触发器中删除它
hawkeyemaster5.然后尝试。或像这样添加它 CREATE OR REPLACE FUNCTION hawkeyemaster5.latest_log_id -
hawkeyemaster5.是表log_patch_execution_result的架构。您在哪个模式中创建了函数latest_log_id? `? -
您对该表的权限是直接授予您还是通过角色授予?听起来像that might be the issue。
标签: sql oracle function plsql max