В переменной name не должно быть пробелов. Но имя не должно иметь значения для любого, кто запускает код, оно просто должно иметь значение для того, кто его пишет и поддерживает.
Я подозреваю, что тот, кто запускает код, видит имя, когда ему предлагается ввести значение, например в качестве очень простого примера, если код:
select '&abc_def' from dual;
тогда пользователь, запустивший его, видит:
Enter value for abc_def:
, что не очень дружелюбно, и я могу представить, что вы хотите, чтобы в этом приглашении были пробелы, а не символы подчеркивания - так что, возможно, это именно то, что вы действительно имеете в виду.
SQL * Plus (и SQL Developer, и SQLcl) позволяет создавать собственные приглашения для значения переменной подстановки с помощью команды ACCEPT
` :
accept abc_def char prompt = 'Please give a value for Abc Def';
select '&abc_def' from dual;
Теперь конечный пользователь видит:
Please give a value for Abc Def:
Вы, вероятно, хотите set verify off
, если вы еще не сделали,
Подробнее об использовании переменных подстановки.