错误:Oracle 10g中的ORA-06550

时间:2013-09-07 05:45:14

标签: sql oracle oracle10g

这里我创建了一个包,包含规范和包体,其中包含一个在表中插入行的过程,包创建成功但是该包的执行给了我错误

  

ORA-06550

包装规格:

create or replace package pkgEmp --package specification created..
as
procedure insertEmp(eno number,name varchar2,job varchar2,mgr varchar2,salary number);
end pkgEmp;

包体:

create or replace package body pkgEmp
as
procedure insertEmp(eno number,name varchar2,job varchar2,mgr varchar2,salary number)
is
begin
insert into emp values(eno,name,job,mgr,salary);
end insertEmp;
end pkgEmp;

执行程序insertEmp:

begin
pkgEmp.insertEmp(&eno,&name,&job,&mgr,&salary); --i m trying to get data in run time.
End;

并输出:

ORA-06550: line 2, column 18:
PLS-00103: Encountered the symbol "&" when expecting one of the following:

   ( ) - + case mod new not null others 

   table avg count current exists max min prior sql stddev sum
   variance execute multiset the both leading trailing forall
   merge year month DAY_ hour minute second timezone_hour
   timezone_minute timezone_region timezone_abbr time timestamp
   interval date


1. begin
2. pkgEmp.insertEmp(&eno,&name,&job,&mgr,&salary);
3. End;

为什么我无法从用户那里获取数据,我使用SQL * Plus

1 个答案:

答案 0 :(得分:0)

我认为您需要将参数放在“单引号”中,例如'& name',其中数据类型是非整数。

谢谢, 阿迪亚