EXECUTE(Transact-SQL)の引用:
Execute a stored procedure or function
[ { EXEC | EXECUTE } ]
{
[ @return_status = ]
{ module_name [ ;number ] | @module_name_var }
[ [ @parameter = ] { value
| @variable [ OUTPUT ]
| [ DEFAULT ]
}
]
[ ,...n ]
[ WITH RECOMPILE ]
}
[;]
@variable
明示的にまたはを示していることがわかりますvalue
。関数の呼び出しを変数としても値としても記述できないため、これは言語の制限だと思います。これは実行可能コード(式)であり、変数宣言中の省略形の割り当ては誤解を招くボーナスにすぎません。
DECLARE
編集:との説明の違いを比較してくださいEXECUTE
:
にとってDECLARE
=value
インラインで変数に値を割り当てます。値は定数または式にすることができますが、変数宣言型と一致するか、暗黙的にその型に変換可能である必要があります。
のページをEXECUTE
見ると、式の言及がありません。あなたが指摘しようとしているように、それは便利だと私には思えます。