Sql 错误:Oracle 10g中的ORA-06550

Sql 错误:Oracle 10g中的ORA-06550,sql,oracle,oracle10g,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; 包体: cre

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

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

我认为您需要在数据类型为非整数的“单引号”中添加参数,如“&name”

谢谢,
Aditya

您的错误是
PLS-00103
ORA-06550
只是关于您的错误的附加信息(在您的声明中的确切位置)。您如何运行
insertEmp
过程?来自SQL*Plus?SQLDeveloper?PL/SQL开发人员?蟾蜍?还有别的吗?@LukeWoodward的SQL*Plus和ORacle 10g Express编辑您是否禁用了
define
off?键入
show define
查找,如果显示
define OFF
,则键入
set define on
。然后再试一次。