在Oracle 11g Express Edition中运行PL/SQL代码-错误

在Oracle 11g Express Edition中运行PL/SQL代码-错误,sql,database,oracle,plsql,oracle11g,Sql,Database,Oracle,Plsql,Oracle11g,我正在尝试在Oracle11gXe中运行以下PL/SQL代码。据我所知,代码没有问题,但是,Oracle给了我错误——我不知道如何解决这些错误 declare bookIsbn        BookTitle.Isbn%type; bookName        BookTitle.btName%type; numOfCopies        number; procedure getTotalLoans( getbookIsbn            in    BookTitle.Is

我正在尝试在Oracle11gXe中运行以下PL/SQL代码。据我所知,代码没有问题,但是,Oracle给了我错误——我不知道如何解决这些错误

declare
bookIsbn        BookTitle.Isbn%type;
bookName        BookTitle.btName%type;
numOfCopies        number;

procedure getTotalLoans(
getbookIsbn            in    BookTitle.Isbn%type,
getbookName            out    BookTitle.btName%type,
getnumOfCopies        out    number) is
    begin
    SELECT BookTitle.btName, COUNT(BookCopy.isbn)
    INTO getbookName, getnumOfCopies
    FROM BookTitle, BookCopy, Loan
    WHERE getBookIsbn = BookCopy.isbn
    AND BookTitle.isbn = BookCopy.isbn
    AND BookCopy.bcId = Loan.bcId
    AND loan.dateback is null
    GROUP BY BookTitle.btName, BookTitle.isbn;
    end;

begin
--main block
getTotalLoans (4,bookName,numOfCopies);
    dbms_output.put_line('Book Name' || bookName || ' Number of copies on loan: ' || numOfCopies);
end;
/
我得到以下错误:

ERROR at line 2:
ORA-06550: line 2, column 1:
PLS-00114: identifier 'BOOKISBNƒƒƒƒƒƒƒƒBOOKTI' too long
ORA-06550: line 2, column 34:
PLS-00103: Encountered the symbol "." when expecting one of the following:
constant exception <an identifier>
<a double-quoted delimited-identifier> table long double ref
char time timestamp interval date binary national charact
ORA-06550: line 3, column 1:
PLS-00114: identifier 'BOOKNAMEƒƒƒƒƒƒƒƒBOOKTI' too long
ORA-06550: line 3, column 34:
PLS-00103: Encountered the symbol "." when expecting one of the following:
constant exception <an identifier>
<a double-quoted delimited-identifier> table long double ref
char time timestamp interval date binary national charact
ORA-06550: line 4, column 1:
PLS-00114: identifier 'NUMOFCOPIESƒƒƒƒƒƒƒƒNUM' too long
ORA-06550: line 4, column 34:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
constant exception <an identifier>
<a double-quoted delimited-identifier> table long double ref
char time timestamp
第2行出现
错误:
ORA-06550:第2行第1列:
PLS-00114:标识符“BOOKISBN”太长
ORA-06550:第2行第34列:
PLS-00103:在预期以下情况时遇到符号“.”:
恒定异常
表长双参考
字符时间戳间隔日期二进制国家字符
ORA-06550:第3行第1列:
PLS-00114:标识符“BOOKNAME”太长
ORA-06550:第3行第34列:
PLS-00103:在预期以下情况时遇到符号“.”:
恒定异常
表长双参考
字符时间戳间隔日期二进制国家字符
ORA-06550:第4行第1列:
PLS-00114:标识符“NUM”太长
ORA-06550:第4行第34列:
PLS-00103:在预期以下情况时遇到“;”符号:
恒定异常
表长双参考
字符时间戳
任何帮助都将不胜感激


谢谢

您提供的代码在我运行时非常适合我。但是,错误表明变量名和类型之间有一些额外的字符。也就是说,
BOOKISBNƒƒƒƒƒBOOKTI
,所有的
f
字符来自哪里?这些可能是错误处理程序正在转换为可打印字符的不可打印字符。如果将下面的内容复制并粘贴到变量声明上,然后重试,会怎么样

bookIsbn BookTitle.Isbn%type;
bookName BookTitle.btName%type;
numOfCopies number;

不确定这是否有帮助@Ben除了表格模式和CourseSrikanthroids的数据之外,实际上不是这样,如果我阅读正确,我必须使用单引号,我已经这样做了