0

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

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

4

1 回答 1

0

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

谢谢,阿迪亚

于 2013-09-23T06:08:39.620 回答