Как получить информацию о представлении в SQL Server

В этом руководстве вы узнаете о различных способах получения информации из представления в базе данных SQL Server.

Получение информации о представлении с помощью каталога sql.sql_module

Чтобы получить информацию о представлении, используйте системный каталог sys.sql_module и функцию OBJECT_ID():

SELECT
    definition,
    uses_ansi_nulls,
    uses_quoted_identifier,
    is_schema_bound
FROM
    sys.sql_modules
WHERE
    object_id
    = object_id(
            'sales.daily_sales'
        );

В этом запросе вы передаете имя представления функции OBJECT_ID() в предложении WHERE. Функция OBJECT_ID() возвращает идентификационный номер объекта базы данных в области схемы.

Вот что получилось:

SQL Server Получение определения представления

Обратите внимание, что вам необходимо вывести результат в текстовом формате, чтобы четко увидеть оператор SELECT, как на рисунке выше.

Чтобы отобразить результаты в виде текста, в редакторе запросов нажмите сочетание клавиш Ctrl-T или щелкните кнопку «Результаты в текст», как показано на следующем снимке экрана:

SQL Server Получение определения представления — отображение результатов в тексте

Получение информации о представлении с помощью хранимой процедуры sp_helptext

Хранимая процедура sp_helptext возвращает определение пользовательского объекта, такого как представление.

Чтобы получить информацию о представлении, вы передаете имя представления хранимой процедуре sp_helptext. Например, следующий оператор возвращает информацию о представлении sales.product_catalog:

EXEC sp_helptext 'sales.product_catalog' ;

На следующем рисунке показан результат:

SQL Server Получение определения представления с помощью хранимой процедуры sp_helptext

Получение информации о представлении с помощью функции OBJECT_DEFINITION()

Другой способ получить информацию о представлении — использовать функции OBJECT_DEFINITION() и OBJECT_ID() следующим образом:

SELECT 
    OBJECT_DEFINITION(
        OBJECT_ID(
            'sales.staff_sales'
        )
    ) view_info;

На следующем рисунке показан результат:

SQL Server Получение информации о представлении с помощью хранимой процедуры object_definition

В этом уроке вы узнали, как различными способами получить информацию о представлении в базе данных SQL Server.

Мирослав С.

Автор статей, ИБ-специалист