Я думаю, что вы используете sql-developer
или какой-то другой tool
.
Прежде всего, каково требование использования оператора SELECT
непосредственно после function
кода?
Functions
хранится код, и вы можете вызывать их из любого места.
Теперь, чтобы дать ответ на ваш вопрос.
- Просто выберите (курсор влево щелкните и перетащите)последние 3 строки (т.е. оператор
select
) и выполнить их. Он будет работать индивидуально. - Используйте
slash
(/
) после окончания кода function
, чтобы сделать его конечной точкой кода pl / sql.
В вашем случае происходит то, что ваш tool
не может определить, где заканчивается код function
.
И вам не нужно беспокоиться о таких проблемах, поскольку код function
сохраняется в метаданных после созданияих. И всякий раз, когда вы вызываете эту функцию, Oracle будет использовать код из метаданных для выполнения своей логики.
Я бы предложил сделать полную изоляцию между созданием и использованием function
. т.е. создать функцию из одного окна и закрыть это окно после успешного создания.
затем вы можете выполнить только оператор select
в любом окне инструментов.
Cheers !!