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

存储过程执行时提示ORA

把第二行的exec去掉,直接写st_mts_GOOOrderDescr141203 上这个过程和参数,exec是sqlplus的命令,而不是oracle pl/sql language的命令

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

invalid_vocher_job的and i.status=0加分号

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

execute immediate 'select count(*) from '||rec.table_name||'@todb1'|| into v_cnt; 改成 execute immediate 'select count(*) from '||rec.table_name||'@todb1' into v_cnt;

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

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

PROCEDURE QWW.ADDPHQ 编译错误 错误:提示:值被赋到 'aa' 但从未用于 'AddPHq' 行:6 文本:aa := 1; 语法没问题,但是有编译错误 再一个,你这个过程写的没什么意义

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

begin p_test('A22', 'ssss'); end; 这么执行 顺便说一句,insert into后要commit

网站地图

All rights reserved Powered by www.9371.net

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