Ответ - нет синтаксиса для встраивания неявного курсора в объявление. Общий синтаксис объявления переменной или константы:
identifier [constant] datatype := expression;
expression
может быть функцией, например:
k_somecount constant integer := some_lookup('whatever');
Это может быть аккуратный подход, если функция используется в нескольких местах или имеет несколько шагов и т. Д.
Мне было интересно, есть ли способ использовать выражение XML, например:
k_somecount constant integer := cast(xmlwhatever(mystic xquery incantation) as integer);
но, похоже, нет (а если и было, то я не думаю, что вам это понравится).
Не существует неявного синтаксиса выражения курсора, такого как следующий:
-- Made-up syntax purely to illustrate what you might have been hoping existed:
k_somecount integer := (select count(*) from employees);