Изменение хранимой процедуры, не вызывающей ошибку «Недопустимое имя столбца», когда этот конкретный столбец удаляется из таблицы на сервере SQL - PullRequest
0 голосов
/ 28 апреля 2020

Я удалил столбец из таблицы, который упоминается в хранимой процедуре. Когда я изменяю эту хранимую процедуру, ошибки не возникает, но при ее выполнении выдается ошибка

Неверное имя столбца

.

I использую SSMS 2017

1 Ответ

1 голос
/ 28 апреля 2020

Вы ищете функциональность, называемую «привязка схемы». Это означает, что если вы не можете изменить схему объекта, если на него ссылаются в представлении или хранимой процедуре.

Это обрабатывается на зависимом уровне, а не на исходном объекте. Начать можно с документации по SCHEMABINDING.

На практике это означает следующую процедуру:

  1. Изменение объекта (то есть таблицы) .
  2. Получить ошибку привязки схемы.
  3. Удалить опцию привязки схемы для всех объектов, которые ссылаются на исходный объект.
  4. Изменить исходный объект.
  5. Измените зависимые объекты.
  6. Убедитесь, что привязка схемы вернулась "на" зависимые объекты.

Это немного громоздко, но это помогает обеспечить зависимость от базы данных.

...