sqlplus编译存储过程
在plsql developer的sql window中看执行错误是不准确的,要在proceres目录下找这个过程,右键edit或者view打开,然后编译(F8)就会出现错误了。
再说说你错的地方。
你把入参的名字改成了EMP_IDDDD,那么就需要修改过程中所有入参出现的位置,都改成统一的EMP_IDDDD。否则会提示,未定义EMP_ID(因为原来的入参名已经改变了,编译器会认为EMP_ID不存在)。
还有你这个过程有点问题,过程中没有DML操作(insert、update、delete操作),不需要commit。
希望对你有帮助。
B. PLSQL修改了存储过程如何编译保存
如果是在plsql developer中修改的,可以直接点那个齿轮图标,或者F8即可编译。
如果是在sqlplus中,那就敲入修改后的过程代码(create or replace procere...),最后以/结尾运行即可。
C. Oracle有没有命令可以编译存储过程
sqlplus有相关的了命令:比如alter procere prodere_name compile;
第一次编译的时候只要在后面加一个/当做执行符号,那么就可以进行编译。
D. oracle sql/plus中执行存储过程
因为有输出参数,所以只能通过declare块执行,如下:
declare
声明变量,就是CodeType 、input_code、cu_patient ,可对前两个直接赋值
begin
GetSampleInfo(CodeType, input_code,cu_patient) ;
end;
/
----
多动动手!如果没输出参数可以直接"exec 过程名(参数)"调用,否则就按我说的做,自己往里添加代码就行
E. sqlplus中怎么执行带参数的存储过程
SQL> create or replace procere jl_test
2 (a in varchar2,b out varchar2)
3 as
4 begin
5 b:= a;
6 end;
7 /
SQL> var c varchar2(10);
SQL> exec jl_test('01',:c)
PL/SQL 过程已成功完成。
SQL> print c
C
--------------------------------
01
F. plsql编译存储过程
字符转日期也不是你那种用法啊,应该用to_date,最后改成如下这样:
1
executeimmediate 'delete from car where underwriteenddate> to_date(''2017-05-07'',''yyyy-mm-dd'')';
G. sqlplus创建存储过程脚本不生效
创建过程中有语法错误。
在存储体中每条SQL语句都是以分号结尾的,而在SQL控制台中在执行脚本时,一遇到分号就会执行SQL语句,这样的话若是该条语句并不是正确的执行语句的话,那么就会报错。
H. 在oracle sqlplus 中怎么编辑,保存和运行 pl-sql的存储过程,函数什么的
编辑不太好编辑,毕竟那个页面一点也不灵活
建议在文本上打好你要运行的东西,然后粘贴到sqlplus上
如果你粘贴不了,建议你用cmd模式进入sqlplus
至于保存
你create后自动就保存到数据库中了,不知道你说的保存是什么意思
执行的话,这个得看你写的存储过程和函数是什么样的了,不同的存储过程和函数执行的方式也有区别呀