В SQL Server 2000 существует ли запрос sysobjects, который будет извлекать пользовательские представления, а не системные?

StackOverflow https://stackoverflow.com/questions/33226

  •  09-06-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

select * from information_schema.tables
WHERE OBJECTPROPERTY(OBJECT_ID(table_name),'IsMSShipped') =0 

Исключит dt_properties и системные таблицы

Добавить

where table_type = 'view' 

если вам просто нужен вид

Другие советы

SELECT
    *
FROM
    sysobjects
WHERE
    xtype = 'V' AND
    type = 'V' AND
    category = 0

Вот список возможных значений для xtype ( тип xtype ):

  • C = КОНТРОЛЬНОЕ ограничение
  • D = Значение по умолчанию или ограничение по УМОЛЧАНИЮ
  • F = ОГРАНИЧЕНИЕ ВНЕШНЕГО КЛЮЧА
  • L = Логарифм
  • P = Хранимая процедура
  • PK = ОГРАНИЧЕНИЕ ПЕРВИЧНОГО КЛЮЧА (тип - K)
  • RF = Хранимая процедура фильтра репликации
  • S = Системная таблица
  • TR = Триггер
  • U = Таблица пользователя
  • UQ = УНИКАЛЬНОЕ ограничение (тип равен K)
  • V = Вид
  • X = Расширенная хранимая процедура

Вот возможные значения для Тип:

  • C = КОНТРОЛЬНОЕ ограничение
  • D = Значение по умолчанию или ограничение по УМОЛЧАНИЮ
  • F = ОГРАНИЧЕНИЕ ВНЕШНЕГО КЛЮЧА
  • FN = Скалярная функция
  • IF = Встроенная таблица-функция
  • K = ПЕРВИЧНЫЙ КЛЮЧ или УНИКАЛЬНОЕ ограничение
  • L = Логарифм
  • P = Хранимая процедура
  • R = Правило
  • RF = Хранимая процедура фильтра репликации
  • S = Системная таблица
  • TF = Табличная функция
  • TR = Триггер
  • U = Таблица пользователя
  • V = Вид
  • X = Расширенная хранимая процедура

Наконец, Категория поле выглядит так, как будто оно группируется по разным типам объектов.После анализа возвращаемого результирующего набора системные представления, похоже, имеют Категория = 2, тогда как все пользовательские представления имеют Категория = 0.Надеюсь, это поможет.

Для получения дополнительной информации посетите http://msdn.microsoft.com/en-us/library/aa260447 (SQL.80).aspx

select * from information_schema.tables
where table_type = 'view'
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top