sp_refreshview (Transact-SQL)

Изменения: 14 апреля 2006 г.

Обновляет метаданные для заданного не привязанного к схеме представления. Постоянные метаданные представления могут устареть вследствие изменения базовых объектов, от которых зависит представление.

Значок ссылки на разделСоглашения о синтаксисе в Transact-SQL

Синтаксис

sp_refreshview [ @viewname = ] 'viewname' 

Аргументы

  • [ @viewname= ] 'viewname'
    Имя представления. Аргумент viewname имеет тип nvarchar и не имеет значения по умолчанию. Аргумент viewname может являться составным идентификатором, однако может обращаться только к представлениям текущей базы данных.

Значения кодов возврата

0 (успешное завершение) или ненулевое значение (неуспешное завершение)

Замечания

Если представление создано без использования предложения SCHEMABINDING, в случае изменения базовых объектов представления, влияющих на его определение, следует выполнить процедуру sp_refreshview. В противном случае результат запроса представления может быть непредсказуемым.

Разрешения

Требуются разрешение ALTER для представления и разрешение REFERENCES для определяемых пользователями типов данных среды CLR и коллекций XML-схем, на которые ссылаются столбцы представления.

Примеры

А. Обновление метаданных представления

В следующем примере выполняется обновление метаданных представления Sales.vIndividualCustomer.

USE AdventureWorks;
GO
exec sp_refreshview N'Sales.vIndividualCustomer';

Б. Создание сценария, обновляющего все представления с зависимостями от измененного объекта

Предполагается, что таблица Person.Contact была изменена таким образом, что это повлияло на определение созданных на ней представлений. В следующем примере создается сценарий, обновляющий метаданные для всех представлений с зависимостями от таблицы Person.Contact.

USE AdventureWorks;
GO
SELECT DISTINCT 'EXEC sp_refreshview ''' + name + '''' 
FROM sys.objects so INNER JOIN sys.sql_dependencies sd 
ON so.object_id = sd.object_id 
WHERE type = 'V' 
AND sd.referenced_major_id = object_id('Person.Contact') 

См. также

Справочник

Хранимые процедуры ядра СУБД (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

14 апреля 2006 г.

Новое содержимое:
  • Добавлен подраздел «Примечания» для уточнения причины использования процедуры sp_refreshview.
  • Добавлен пример Б.
Измененное содержимое:
  • Обновлен пример А.