В SQL Server 2000 существует ли запрос sysobjects, который будет извлекать пользовательские представления, а не системные?
-
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'