История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Топ:
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Интересное:
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Дисциплины:
2019-11-19 | 168 |
5.00
из
|
Заказать работу |
|
|
Рассчитывая на то, что можно создать диалоговыми средствами Management Studio и пользовательский табличный тип данных, мы в окне Обозревателя объектов раскрываем список баз данных, раскрываем базу данных BestDatabase, раскрываем папку Программирование, раскрываем Типы, щелкаем правой кнопкой мыши по строке Определяемые пользователем табличные типы и выбираем в контекстном меню Создать определяемый пользователем тип таблицы. Однако вместо того чтобы увидеть диалоговое окно, позволяющее задать характеристики этого типа данных, мы получаем сценарий, который содержит описание синтаксиса оператора CREATE TYPE:
-- ================================
-- Create User-defined Table Type
-- ================================
USE <database_name,sysname,AdventureWorks>
GO
-- Create the data type
CREATE TYPE <schema_name,sysname,dbo>.<type_name,sysname,TVP> AS TABLE
(
<columns_in_primary_key,, c1> <column1_datatype,, int>
<column1_nullability,, NOT NULL>,
<column2_name, sysname, c2> <column2_datatype,, char(10)>
<column2_nullability,, NULL>,
<column3_name, sysname, c3> <column3_datatype,, datetime>
<column3_nullability,, NULL>,
PRIMARY KEY (<columns_in_primary_key,, c1>)
)
GO
Так что для этих целей лучше использовать ваши глубокие познания в области языка Transact-SQL и конкретно оператора CREATE TYPE.
Удаление пользовательского типа данных
Для удаления пользовательского типа данных из базы в языке Transact-SQL используется оператор DROP TYPE. Его синтаксис показан в листинге 4.52 и на рис. 4.25.
Листинг 4.52. Синтаксис оператора Drop Type
DROP TYPE [<имя схемы>.]<имя типа данных>;
Рис. 4.25. Синтаксис оператора DROP TYPE
Тип данных можно удалить только в том случае, если он не используется в других объектах (локальных переменных, столбцах таблиц, параметрах хранимых процедур) базы данных. Или в иной терминологии: если от него не зависят другие объекты базы данных.
|
Например, попробуйте оператором drop type удалить псевдоним d_char30. Вы получите сообщение, что удалить его невозможно, поскольку на него ссылаются другие объекты. В данном случае это созданный нами табличный тип данных.
Более подробные сведения можно получить при попытке удаления этого псевдонима из среды Management Studio. Щелкните в окне Обозреватель объектов правой кнопкой по имени псевдонима и в контекстном меню выберите команду Удалить. Появится окно удаления объекта (рис. 4.26).
Рис. 4.26. Окно удаления объекта
Если здесь щелкнуть по кнопке OK, то в следующих диалоговых окнах вы сможете увидеть, по какой причине удаление невозможно. Чтобы получить подробную информацию о зависимостях этого псевдонима, нужно в окне Удаление объекта щелкнуть мышью по кнопке Показать зависимости.
Появится окно со списком объектов, зависящих от данного псевдонима (рис. 4.27). Здесь видно, что от псевдонима зависит объект базы данных refpeople.
Рис. 4.27. Объекты, зависящие от псевдонима
В этом же окне можно увидеть и список объектов, от которых зависит наш объект. Для этого в верхней части окна нужно установить переключатель Объекты, от которых зависит [ D _ CHAR 30].
Чтобы удалить пользовательский тип данных (да и любой другой объект базы данных), нужно устранить все его зависимости. Для этого следует либо удалить те объекты базы данных, которые его используют, либо в этих объектах устранить ссылки на удаляемый объект. Например, если какая-либо таблица содержит столбец, ссылающийся на удаляемый псевдоним, то нужно либо удалить этот столбец, либо заменить эту ссылку, установив для столбца системный тип данных.
Удаление таблиц
Удалить существующую в базе данных таблицу можно при выполнении оператора Transact-SQL Drop Table или же при использовании диалоговых средств в программе Management Studio.
Нельзя удалить таблицу, у которой существуют так называемые внешние зависимости. Это когда на таблицу ссылается хранимая процедура, представление (view) или когда на первичный или уникальный ключ таблицы ссылается внешний ключ другой таблицы.
|
Для выполнения всех последующих действий с базой данных в этой главе пересоздайте и заполните данными базу данных BestDatabase, используя четыре сценария из электронного архива, прилагаемого к данной книге (см. приложение 6).
|
|
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!