Вы использовали неразрывные пробелы в своем заявлении вместо простых пробелов. Если вы скопируете и вставьте код со страницы, как показано выше, он будет работать. Если вы отредактируете вопрос и скопируете код оригинала, он не будет.
Вы можете использовать dump()
функцию (или приличный текстовый редактор), чтобы увидеть, что код на самом деле содержит:
select dump('PROCEDURE abc_requests (p_xys IN NUMBER);',16) from dual;
DUMP('PROCEDURE ABC_REQUESTS(P_XYS IN NUMBER);',16)
--------------------------------------------------------------------------------------------------------------------------------------------------
Typ=96 Len=44: 50,52,4f,43,45,44,55,52,45,c2,a0,61,62,63,5f,72,65,71,75,65,73,74,73,20,28,70,5f,78,79,73,c2,a0,49,4e,c2,a0,4e,55,4d,42,45,52,29,3b
^^^^^ ^^^^^ ^^^^^
Я выделил две проблемные символы, которые являются multibye non-break space (в UTF- 8).
Повторно введите ваш код или скопируйте и вставьте его из вопроса или просто измените неразрывные пробелы на обычные.
@newbie: В качестве дополнения к этому - не используйте Word или любое другое программное обеспечение для обработки текстов для создания кода. Или используйте что-то вроде «Блокнота» или получите достойного редактора программиста. В наши дни я использую jEdit (основное преимущество которого заключается в том, что он основан на Java и, таким образом, может работать в большинстве систем), но есть масса таких редакторов. Удачи. –
@alex poole Большое вам спасибо за вашу помощь. Есть ли в Интернете бесплатный текстовый редактор, о котором вы знаете. Моя проблема все еще не исправлена. – newbie
Почему онлайн? Как сказал Боб, используйте обычный текстовый редактор; Notepad ++, vim, emacs и т. Д. Где вы используете код? SQL Developer IDE или Toad или другие включают редактирование текста. Просто не используйте Office или другие текстовые процессоры, которые меняют то, что вы набираете. Если проблема не исправлена, повторите то, что вы ранее скопировали и вставляли ... –