无法修复错误(43,1):PL/SQL:SQL语句被忽略

无法修复错误(43,1):PL/SQL:SQL语句被忽略,sql,oracle,oracle-sqldeveloper,Sql,Oracle,Oracle Sqldeveloper,我找不到: Error43,1 PL/SQL:忽略SQL语句 以及: 错误43,19:PL/SQL:ORA-00947:值不足 请帮忙 CREATE OR REPLACE PACKAGE BODY TEAM_pkg AS procedure displayInfo(tid TEAM.team_ID%type) is dis teamrecord; chec varchar(20); BEGIN SELECT tname INTO chec FROM Team WHERE team

我找不到:

Error43,1 PL/SQL:忽略SQL语句

以及:

错误43,19:PL/SQL:ORA-00947:值不足

请帮忙

CREATE OR REPLACE PACKAGE BODY TEAM_pkg AS    
procedure displayInfo(tid TEAM.team_ID%type) is
dis teamrecord;
chec varchar(20);
BEGIN

SELECT tname INTO chec FROM Team 
  WHERE team.team_id = tid; 
  IF chec IS NULL  then
  raise team_not_found;
  else
select * into dis from team where team_id = tid;
dbms_output.put_line(dis.teamid ||' '||dis.tname||' '||dis.rk||' '||dis.ct);

end if;
EXCEPTION
WHEN team_not_found THEN
Rollback; -- Oracle performs an implicit rollback once and exception is  raised.
dbms_output.put_line('Team not Found!');
WHEN NO_DATA_FOUND THEN
Rollback; -- Oracle performs an implicit rollback once and exception is raised.
dbms_output.put_line('Team not Found!');
end;

您缺少包正文的结尾。

从团队中选择*进入dis,其中团队id=tid;您的错误发生在第43行,但您发布的代码没有第43行。错误发生在哪一行?您正在捕获尚未声明的team\u not\u found异常,该异常将引发编译错误。teamrecord也未定义-这是team%rowtype类型的变量吗?我的代码太长,无法发布,已处理异常,是teamrecord是类型的变量。实际上,错误会从一行移动到另一行。例如,如果我删除了错误所在的块,那么它会出现在其他地方,但teamrecord类型是team%rowtype,还是至少是与团队布局完全匹配的记录类型?如果不是,请选择。。。进入dis可能会出现此错误。但用部分信息很难判断。尝试将其归结为生成错误的最短过程或块。当从team_id=tid的团队将所有值(而不是仅tname select*)获取到dis时,可以保存1个select;没有写操作时,为什么要回滚?请使用标识使您的代码更具可读性。。。