Могу ли я иметь одну и ту же хранимую процедуру с двумя разными именами?

#sql #database #azure

#sql #База данных #azure

Вопрос:

Ниже у меня есть хранимая процедура с именем usp_customer

 CREATE PROCEDURE usp_customer 
AS 
BEGIN 
    SELECT * FROM CUSTOMER       
END
  

Я хочу присвоить той же точно хранимой процедуре второе имя usp_cust1

Примечание: я не собираюсь переименовывать или создавать новую хранимую процедуру, я хочу, чтобы работали оба имени

В конце концов, я мог бы использовать либо EXEC usp_customer или EXEC usp_cust1

Спасибо

редактировать: изменен sp_ на usp_

Комментарии:

1. Пометьте свой вопрос базой данных, которую вы используете.

2. Примечание: вы не должны использовать sp_ префикс для своих хранимых процедур. Microsoft зарезервировала этот префикс для собственного использования (см. раздел Именование хранимых процедур ) , и вы рискуете столкнуться с конфликтом имен в будущем. Это также плохо сказывается на производительности вашей хранимой процедуры . Лучше просто избегать sp_ и использовать что-то другое в качестве префикса — или вообще без префикса!

Ответ №1:

Одна хранимая процедура может вызывать другую:

 CREATE PROCEDURE usp_cust1
AS 
BEGIN 
    EXEC usp_customer;    
END;
  

Обратите внимание, что в SQL Server вы не должны использовать префикс «sp_» для хранимых процедур. Это лучше всего зарезервировать только для системных хранимых процедур.

Комментарии:

1. есть ли какой-либо способ сделать это без создания новой процедуры?

2. Нет. Если вам нужны две хранимые процедуры, вы должны их создать . , , или синоним также будет работать.