Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Топ:
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Интересное:
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Дисциплины:
|
из
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).
|
|
|
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!