一、表或试图不存在 数据库实例:hbmobile 两个用户:bizfocus_dmp,capesreport 创建同义词,使得用户capesreport可访问bizfocus_dmp的dmp_n_need表 create or replace synonym dmp_n_need for bizfocus_dmp.dmp_n_need; 在capesreport用户中创建存储过程: -------------------------------------------------------------- create or replace procedure pro_stat_dmp_need is Begin --1 插入所有需求单 Insert Into stat_dmp_n_need (id,dmp_number,my_name,starttime,endtime,username,company,dept,flow_type,userid,isabort) Select id,dmp_number,my_name,start_time,end_time,username,company_id,dept_id,flow_type,user_id,isabort From dmp_n_need; end pro_stat_dmp_need; ------------------------------------------------------------------ 编译总报错:表或试图不存在(dmp_n_need)。 但把语句:Select id,dmp_number,my_name,start_time,end_time,username,company_id,dept_id,flow_type,user_id,isabort From dmp_n_need; 放在pl/sql developer中却可执行成功。 百度、Google半天,终于发现问题原因:权限不足。 grant select any table to capesreport; OK 了。 二、存储过程中只能使用DML语句 如truncate,在存储过程中不能像 insert 那样直接使用,其实换种方式即可: execute immediate 'truncate table ***';
存储过程中的一些常见问题
最新推荐文章于 2022-04-30 12:36:38 发布