Вход | Регистрация
 
Информационные технологии :: Администрирование

MSSQL: Cannot ALTER FUNCTION 'dbo.function' because it is being referenced by...

MSSQL: Cannot ALTER FUNCTION 'dbo.function' because it is being referenced by...
Я
   vcv
 
27.10.19 - 18:13
При попытке внести изменения в скалярную функцию выдаёт ошибку. Функция используется в представлениях.
Вопрос не в том, почему ругается. Гугл был замучен и советы "удалить колонку, изменить функцию, добавить колонку" вполне понятны.
Непонятно одно: почему из десятка представлений, в которых однотипно используется эта функция, ругается не на все, а только на часть?
Во всех представлениях однотипный запрос
SELECT ... , dbo.КодКонтрагента(Контрагенты.DESCR, Контрагенты.CODE) AS КонтрагентыКод, ...
но ругается не на все? Почему? И что сделать что бы на все представления перестал выдавать ошибку? В свойствах представлений разницы не замечено.
 
 
   ДенисЧ
 
1 - 27.10.19 - 18:30
Где-то есть schemabinding ?
Она вроде в таких случаях ругается
   vcv
 
2 - 27.10.19 - 18:41
(1) Есть. Помню, что включал её, но не могу сейчас вспомнить, почему.
   vcv
 
3 - 27.10.19 - 18:51
Вспомнил. Разобрался. Спасибо общественности в роли "желтой резиновой уточки" :)
Когда-то включил представления в схему, что бы экспериментировать с дополнительными индексами в представлении. После этого и возникла проблема с невозможностью модифицировать функции.
Пересоздал представления, исключив их из схемы - проблема рассосалась.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.