Процедуры не могут получить пользовательский ввод в ответ на приглашение, PLSQL НЕ является интерактивным.Когда у вас есть это, вы на самом деле не общаетесь с базой данных.На самом деле происходит замена символов, если SQLPLUS или другой интерфейс (Toad, SQL Developer, ...) фактически перехватывает символ, запрашивает ввод и физически изменяет сценарий перед отправкой его в базу данных.Если вы хотите хранимую процедуру, вам нужно будет использовать параметр, как предложено @HereGoes, а затем предоставить пользователю скрипт следующим образом:
Begin
nums(pInput => &Input);
end ;
Или предоставить интерфейс приложения для получения входного значения и вызова процедурыили разрешить доступ пользователей через SQLPLUS или другой интерфейс и разрешить им вводить сценарий - не рекомендуется.