Это необязательное значение, которое можно использовать для указания нескольких определений для одного и того же имени хранимой процедуры ... Я думаю, что первоначально предполагалось разрешить управление версиями, но я никогда не видел, чтобы оно использовалось таким образом в дикой природе.
Если вы не укажете число в операторе create procedure
, по умолчанию оно будет 1
. Некоторые из различных слоев доступа к данным, которые вызывают SQL Server, будут явно добавлять ;1
при выполнении хранимой процедуры.
От MSDN :
;*number*
Необязательное целое число, используемое для группировки процедур с одинаковым именем, поэтому
их можно удалить вместе с одним оператором DROP PROCEDURE.
Например, процедуры, используемые в приложении под названием заказы, могут
иметь имя orderproc; 1, orderproc; 2 и т. д. Заявление DROP
ПРОЦЕДУРА orderproc отбрасывает всю группу. Если имя содержит
идентификаторы с разделителями, число не должно быть частью
идентификатор; используйте соответствующий разделитель вокруг имя_процесса
только.