存储过程:
create or replace procedure updateCwshState as
f_ywlxdm_temp varchar2(2);
f_ywid_forkyxxw_temp number(10);
f_cwsh_state_temp varchar2(2);
f_id_temp number(10);
begin
for i in(select t.id,t.f_ywlxdm,t.f_ywid_forkyxxw,t.f_cwsh_state from t_ywbltx t where (t.f_ywlxdm='04' or t.f_ywlxdm='07') and t.f_js_readstate<>'1' ) loop
f_ywlxdm_temp:=i.f_ywlxdm;
f_ywid_forkyxxw_temp:=i.f_ywid_forkyxxw;
f_cwsh_state_temp:=i.f_cwsh_state;
f_id_temp:=i.id;
if(f_ywlxdm_temp='04') then--课题
update oa.t_app_jfbx_cwbxforxm t set t.F_CWSHSTATE=DECODE(f_cwsh_state_temp,'0','财务正在审核','1','财务审核完毕') where t.id=f_ywid_forkyxxw_temp;
else--日常
update oa.t_app_jfbx_rcfybx t set t.F_CWSHSTATE=DECODE(f_cwsh_state_temp,'0','财务正在审核','1','财务审核完毕') where t.id=f_ywid_forkyxxw_temp;
end if;
if(f_cwsh_state_temp='1') then
update t_ywbltx t set t.f_js_readstate='1' where t.id=f_id_temp;
end if;
end loop;
end ;
编译时出现如下提示:
Error: PL/SQL: ORA-00942: table or view does not exist
....
Error: PL/SQL: SQL Statement ignored
....
原因是当前用户没有oa.t_app_jfbx_cwbxforxm, oa.t_app_jfbx_rcfybx 的查询和更新的权限导致的,如果A用户在存储过程中调用B用户的对象,则必须B显示的把该对象的相应权限赋予给用户A。
解决办法:
使用oa用户名登录授权给需要执行存储过程的用户;
grant select on t_App_Jfbx_Cwbxforxm to cwjk;
grant update on t_App_Jfbx_Cwbxforxm to cwjk;
grant select on t_app_jfbx_rcfybx to cwjk;
grant update on t_app_jfbx_rcfybx to cwjk;
然后编译就可以正常通过了
分享到:
相关推荐
ORA-01036:非法的变量名/编号 oracle特有的错误
unix命令dd说明 资源分 1.命令简介 2.实例分析 2.1.数据备份与恢复 2.2.增加Swap分区文件大小 2.3.销毁磁盘数据 2.4磁盘管理
在oracle里面运行一下,解决Exception java.sql.SQLException ORA-00600 内部错误代码
ORACLE9i exp遇见EXP-00008 ORA-00942 EXP-00024错误的解决方法,详细描述了问题处理的过程和步骤,共享在此,希望能有所帮助
之前用PL/SQL DEVELOPER和SQLPLUS 登录数据库都没有问题,就是应用程序通过JDBC连接Oracle时无法成功连接,出现ORA-12505错误listener does not currently know of SID given in connect descriptor
oracle12c程序连接时异常: ORA-01017: 用户名/口令无效; 登录被拒绝 的解决方案。
ORA-12154: TNS: 无法解析指定的连接标识符的解决方法
ora-01033:oracle initialization or shutdown in progress 解决方法 ora-01033:oracle initialization or shutdown in progress 解决方法 ora-01033:oracle initialization or shutdown in progress 解决方法 ora-...
博文链接:https://melin.iteye.com/blog/139296
有关表死锁的详细图片 博文链接:https://meteor-1988.iteye.com/blog/1568695
非常方便的一个oracle管理工具,数据库开发和管理员都适用,可以进行数据库的日常开发,管理,优化工作,功能很全,对于dba来说,可以进行一些高级功能比如,awr, ash, 10046等功能。
错误描述:oracle远程连接服务器出现 ORA-12170 TNS:连接超时 错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。 这里主要是防火墙问题,解决办法: ...
ORA-00904 WMSYS.WM_CONCAT标识符无效解决方案
软件名称:DBATools For PL/SQL Developer 发布版本:1.1.0 Beta 1 发布日期:2010-01-28 软件简介: PL/SQL Developer是Oracle数据库当前最流行的开发工具之一,它在ORACLE数据库开发设计方面功能强大,使用方便,...
最近在工作中遇到了一个问题,错误是Oracle dbca时报错:ORA-12547: TNS:lost contact,通过查找相关的资料终于找到了解决的方法,下面分享给大家,话不多说了,来一起看看详细的介绍吧。 环境: OS:RHEL6.5 x86-...
前几天升级Oracle数据库,从11.2.0.1升级至11.2.0.4,安装完成后,打开PL/SQL,显示ORA-12514,如图: 问题阐述 ORA-12514:监听程序当前无法识别链接描述符中请求的服务,简单的来说就是Oracle数据库的监听器配置有...
PL/SQL Developer是Oracle数据库当前最流行的开发工具之一,它在ORACLE数据库开发设计方面功能强大,使用方便,但是数据库管理方面一直比较欠缺。 DBATools For PL/SQL Developer 是一款PL/SQL Developer的辅助插件...
2008/06/25 13:30:57 - oracl - ERROR : java.sql.SQLException: ORA-01722: 无效数字 2008/06/25 13:30:57 - oracl - ERROR : at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
oracle网络配置(listener_ora-sqlnet_ora-tnsnames_ora).mht
1.Navicat OCI引⽤位置可以从Navicat菜单栏“⼯具”-》“选项”-》环境-》“OCI”中找到 2.Navicat替换的⽂件