如何命令窗口调用
oracle存储过程我写了个获得编号的存储过程,代码如下
create or replace procedure laststr
(
sign_str in varchar2(20);
outval out varchar2(20);
)
as
new_count number;
begin
select count(*) into new_count from student;
if to_char(new_count)=0 then
outval:= sign_str|| '001 ';
else
select seq_student.nextval into outval from daul;
while length(outval) <3 loop
outval:= '0 '||outval;
end loop;
outval:=sign_str||outval;
end if;
end laststr;
我想在命令行调用它,就这么写了下,过程如下
SQL>
SQL> set serveroutput on
SQL> declare
2 v_num1 varchar2(20);
3 begin
4 laststr( 'LL_ ',v_num1);
5 dbms_output.put_line( 'v_num1= '||v_num1);
6 end;
7 /
declare
v_num1 varchar2(20);
begin
laststr( 'LL_ ',v_num1);
dbms_output.put_line( 'v_num1= '||v_num1);
end;
ORA-06550: 第 4 行, 第 3 列:
PLS-00905: 对象 XD.LASTSTR 无效
ORA-06550: 第 4 行, 第 3 列:
PL/SQL: Statement ignored
这是为什么呢。。我过程明明有的。。大家说说怎么回事,或者教我下如何调用。。急呀
------解决方案--------------------set serveroutput on
execute laststr( 'LL_ ',v_num1);
试试看,是什么结果?