чем разница междуразница между BEGIN/END и EXEC
Begin
bc_any_package_pkg.anyProcedure;
End;
/
и
EXEC bc_any_package_pkg.anyProcedure;
/
Я не могу найти, если есть какая-то разница ...
Спасибо
чем разница междуразница между BEGIN/END и EXEC
Begin
bc_any_package_pkg.anyProcedure;
End;
/
и
EXEC bc_any_package_pkg.anyProcedure;
/
Я не могу найти, если есть какая-то разница ...
Спасибо
EXECUTE
(short EXEC
) - это команда SQL * Plus, которая в основном обертывает BEGIN END
блок вокруг вашего однострочного лотка:
Выполняет один оператор PL/SQL. Команда
EXECUTE
часто полезна, когда вы хотите выполнить оператор PL/SQL, который ссылается на хранимую процедуру .
Они действительно одинаковы при использовании SQL * Plus, хотя exec
быстрее набирать.
Это не стандартный PL/SQL, что означает, что если вы используете какой-либо другой инструмент, чем SQL * Plus, есть вероятность, что exec
не будет распознан. Он также работает только с одиночными линиями.
В то время как BEGIN END
является стандартным и будет работать с любым инструментом, который взаимодействует с PL/SQL. Такие блоки могут также охватывать более одной строки.
EXEC
(или EXECUTE
в полной форме) является SQL Plus command, который выполняет один оператор PL/SQL. Таким образом, он достигает точно такого же эффекта, как и запись блока анонимного изображения PL/SQL.
'exec' также не заменяет буфер SQL * Plus, поскольку нормальный блок' begin ... end' будет; поэтому он удобен для таких вещей, как изменение значения значения переменной «переменная» между прогонами запроса. –