我是Oracle新手,刚开始在互联网课程中学习它。
这是我输入的PL / SQL:
create or replace procedure xl_2 is
declare
v_ename varchar2(20);
begin
select ename into v_ename from emp where empno=&no;
dbms_output.put_line('Ename'||v_ename);
end;
/
以及SHOW错误后的问题:
2/1 PLS-00103: 出现符号 "DECLARE"在需要下列之一时: begin function pragma procedure subtype type <an identifier> <a double-quoted delimited-identifier> current cursor delete exists prior external language 符号 "begin" 被替换为 "DECLARE" 后继续。
9/0 PLS-00103: 出现符号 "end-of-file"在需要下列之一时: ( begin case declare end exception exit for goto if loop mod null pragma raise return select update while with <an identifier> <a double-quoted delimited-identifier> <a bind variable> << continue close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe purge
我输入的课程样本完全一样,但是出错了。
12c中有新的东西来创建程序吗?
提前致谢。
答案 0 :(得分:1)
Rermove declare
create or replace procedure xl_2 is
v_ename varchar2(20);
begin
select ename into v_ename from emp where empno=&no;
dbms_output.put_line('Ename'||v_ename);
end;
/
声明是匿名阻止而不是程序。另一个问题可能是&no
这将在创建过程时被替换。我想你需要:
create or replace procedure xl_2(p_empno number) is
v_ename varchar2(20);
begin
select ename into v_ename from emp where empno=p_empno;
dbms_output.put_line('Ename'||v_ename);
end;
/
能够为不同的empno
调用程序。