Поскольку он нарушает синтаксис вызова хранимых процедур T-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 ]
}
[;]
, где значение
Isзначение параметра для передачи в модуль или сквозную команду.Если имена параметров не указаны, значения параметров должны предоставляться в порядке, определенном в модуле.
При выполнении сквозных команд для связанных серверов порядок значений параметров зависит от поставщика OLE DBсвязанный сервер.Большинство поставщиков OLE DB связывают значения с параметрами слева направо.
Если значение параметра является именем объекта, символьной строкой или квалифицировано именем базы данных или именем схемы, все имя должно быть заключено в одинарные кавычки.Если значение параметра является ключевым словом, ключевое слово должно быть заключено в двойные кавычки.
Если в модуле определено значение по умолчанию, пользователь может выполнить модуль без указания параметра.
Значением по умолчанию также может быть NULL.Как правило, определение модуля определяет действие, которое должно быть выполнено, если значение параметра равно NULL.
, таким образом,
, сначала вы должны выполнить все вычисления, поместитерезультаты в переменные, а затем передать переменные в вызов SP