www.9371.net > 存储过程执行时提示ORA

存储过程执行时提示ORA

没有关键字procedure 将CREATE OR REPLACE "GETATTENDANCEDATA" is修改为CREATE OR REPLACE procedure "GETATTENDANCEDATA" is

初步估计是你拼接的sql有问题。把v_sql打印出来看看呢?另外,报的什么错,也发出来看看埃

invalid_vocher_job的and i.status=0加分号

那就是你的数据类型长度太小了,如果是Varchar你尝试着定义为Varchar(500) 或者更大,试下。

1. 在V$ACCESS视图中找到要停止进程的SID: SELECT SID FROM V$ACCESS WHERE NAME='存储过程名称'; 2. 在V$SESSION视图中查找到查出SID和SERIAL# SELECT SID,SERIAL#,FROM V$SESSION WHERE SID='刚才查到的SID'。 3.杀掉查找出来的进程 alter sys...

你的存储过程就有问题吧。我的数据库也是Oracle 10的,创建过程时报错,select中没有into子语。过程改好的话,调用是可以的。第一种的时候加括号 CALL procedure_test()

exec P_EXPORTDATA('student1','student'); 或是 declare v_student1 varchar2(20); v_student varchar2(20); begin v_student1:='student1'; v_student:='student'; P_EXPORTDATA(v_student1,v_student); end;

用你有dba权限的用户执行这个试试。 grant execute any procedure to username;如果还报错就要看代码了。

insert into xg_zhcp_zcfsb (xh, xn, xq, xmdm, fs, lrr,lrsj) select 这是你写的, 但是你后面select出来的字段大于7个, 自然就报错了

这里有两个问题: where hp.id_=hv.procinstid_ and id_ like '"'+y+'%"' oracle的字符连接用 || 双引号是什么意思? 这样试试: where hp.id_=hv.procinstid_ and id_ like y || '%'

网站地图

All rights reserved Powered by www.9371.net

copyright ©right 2010-2021。
www.9371.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com