On mary.marytab(col1)

 

Дело в том, что названия объектов уточняются во время выполнения процедуры. Если название таблицы marytab не расширить, то при выполнении процедуры пользователем c именем “Джон” (john), SQL Сервер будет искать таблицу marytab, владельцем которой является Джон. В предыдущем примере было показано правильное использование этого правила. SQL Серверу было сообщено, что нужно искать таблицу marytab, владельцем которой является Мэри. 

 

Удаление сохраненных процедур

 

Сохраненные процедуры удаляются с помощью команды drop procedure(удалить процедуру). Синтаксис этой команды выглядит следующим образом:

 

drop procedure [владелец.]название_процедуры

[, [владелец.]название_процедуры] ...

Если сохраненная процедура, которая удаляется, вызывает другую сохраненную процедуру, то SQL Сервер выдает сообщение об ошибке. Однако, если создать новую процедуру с таким же названием вместо удаленной процедуры, то вызывающие ее процедуры будут успешно выполняться.

Группа процедур, т.е. несколько процедур с одинаковыми названиями, но с разными числовыми суффиксами, удаляются одним оператором drop procedure. Процедуры, объединенные в группу, не могут быть удалены независимо друг от друга.

 

Изменение названий сохраненных процедур

 

Сохраненная процедура может быть переименована с помощью системной процедуры sp_rename. Синтаксис вызова этой процедуры выглядит следующим образом:

 

sp_rename название_объекта, новое_название

 

Например, чтобы процедуру с названием showall переименовать на countall  нужно выполнить следующую команду: