PLSQL引用字符串未正确终止
我找不到带引号的字符串结尾不正确的错误。我到处都找过了,我的语法似乎是正确的。这个问题是在我介绍if声明时才出现的。任何想法都将不胜感激。谢谢如果你需要更多信息,请告诉我PLSQL引用字符串未正确终止,sql,oracle,plsql,oracle11g,oracle10g,Sql,Oracle,Plsql,Oracle11g,Oracle10g,我找不到带引号的字符串结尾不正确的错误。我到处都找过了,我的语法似乎是正确的。这个问题是在我介绍if声明时才出现的。任何想法都将不胜感激。谢谢如果你需要更多信息,请告诉我 declare bk_id book.book_code%type; bk_authorName author.author_first%type; bk_authorLastName author.author_last%type; bk_title book.title%type; bk_pubcode book.pub
declare
bk_id book.book_code%type;
bk_authorName author.author_first%type;
bk_authorLastName author.author_last%type;
bk_title book.title%type;
bk_pubcode book.publisher_code%type;
bk_category book.type%type;
bk_price book.price%type;
bk_paper book.paperback%type;
TempData := 10;
cursor book_cursor is select author.author_first, author.author_last, book.title, book.type, book.price from book, author, wrote where book.book_code=wrote.book_code and author.author_num=wrote.author_num;
begin
open book_cursor;
dbms_output.put_line('First Name Last Name Title Type Price');
dbms_output.put_line('________________________________________________________________________');
dbms_output.put_line('Date: '||Systimestamp);
loop
fetch book_cursor into bk_authorName, bk_authorLastName, bk_title, bk_category, bk_price;
if(bk_price<TempData) then
dbms_output.put_line(bk_authorName || ' ' || bk_authorLastName || ' ' || bk_title || ' ' || bk_category || ' ' || bk_price || 'Special Deal');
else
dbms_output.put_line(bk_authorName || ' ' || bk_authorLastName || ' ' || bk_title || ' " || bk_category || ' ' || bk_price);
end if;
exit when book_cursor%notfound;
end loop;
close book_cursor;
end;
声明
bk_id book.book_代码%type;
bk_authorName author。author_第一个%type;
bk_authorLastName author.author_last%类型;
bk_标题簿。标题%类型;
bk_pubcode图书。出版商代码%type;
bk_分类簿。类型%type;
bk_价目表。价格%类型;
bk_纸质书。平装本%类型;
TempData:=10;
光标书\光标是选择author.author\u first,author.author\u last,book.title,book.type,book.price from book,author,writed where book.book\u code=writed.book\u code and author.author\u num=writed.author\u num;
开始
打开书本或光标;
dbms_output.put_行('First Name Last Name Title Type Price');
dbms_输出.put_行('uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu);
dbms|u output.put|u行('Date:'| | Systimestamp);
环
将图书光标取到bk_authorName、bk_authorLastName、bk_title、bk_category、bk_price中;
如果(bk_price实际上,这种语法的问题是使用双引号而不是单引号。
这是正确的代码。试试这个,应该可以
declare
bk_id book.book_code%type;
bk_authorName author.author_first%type;
bk_authorLastName author.author_last%type;
bk_title book.title%type;
bk_pubcode book.publisher_code%type;
bk_category book.type%type;
bk_price book.price%type;
bk_paper book.paperback%type;
TempData := 10;
cursor book_cursor is select author.author_first, author.author_last, book.title, book.type, book.price from book, author, wrote where book.book_code=wrote.book_code and author.author_num=wrote.author_num;
begin
open book_cursor;
dbms_output.put_line('First Name Last Name Title Type Price');
dbms_output.put_line('________________________________________________________________________');
dbms_output.put_line('Date: '||Systimestamp);
loop
fetch book_cursor into bk_authorName, bk_authorLastName, bk_title, bk_category, bk_price;
if(bk_price<TempData) then
dbms_output.put_line(bk_authorName || ' ' || bk_authorLastName || ' ' || bk_title || ' ' || bk_category || ' ' || bk_price || 'Special Deal');
else
dbms_output.put_line(bk_authorName || ' ' || bk_authorLastName || ' ' || bk_title || ' ' || bk_category || ' ' || bk_price);
end if;
exit when book_cursor%notfound;
end loop;
close book_cursor;
end;
声明
bk_id book.book_代码%type;
bk_authorName author。author_第一个%type;
bk_authorLastName author.author_last%类型;
bk_标题簿。标题%类型;
bk_pubcode图书。出版商代码%type;
bk_分类簿。类型%type;
bk_价目表。价格%类型;
bk_纸质书。平装本%类型;
TempData:=10;
光标书\光标是选择author.author\u first,author.author\u last,book.title,book.type,book.price from book,author,writed where book.book\u code=writed.book\u code and author.author\u num=writed.author\u num;
开始
打开书本或光标;
dbms_output.put_行('First Name Last Name Title Type Price');
dbms_输出.put_行('uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu);
dbms|u output.put|u行('Date:'| | Systimestamp);
环
将图书光标取到bk_authorName、bk_authorLastName、bk_title、bk_category、bk_price中;
如果(bk_Price只要看一下语法突出显示就足以看出你的打字错误在哪里……我在Mac终端上没有语法突出显示。你在哪里看到它?这个问题似乎离题了,因为它是关于typo@Klinetel:此处有语法突出显示。在bk_类别之前有双引号而不是单引号在ELSE子句中。