Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Удалите избранные строки из таблицы




Понятие об операторе DELETE

Базовая структура оператора DELETE несколько отличается от других операторов SQL, с которыми мы сталкивались ранее. Его синтаксис следующий:

DELETE таблица_или_представление[FROM источники_таблиц][WHERE условие_отбора]

Список столбцов в операторе DELETE не указывается, поскольку при удалении строки удаляются также все столбцы. Необязательная фраза WHERE дает возможность указывать, какие строки следует удалить. Если фраза WHERE опущена, удаляются все строки в указанной таблице или представлении.

Фраза FROM, также необязательная, позволяет задавать дополнительные источники (таблицы или представления), которые будут использоваться в условии отбора в фразе WHERE. Подобный синтаксис оператора может ввести в заблуждение, поскольку строки не будут удаляться из таблиц и представлений, указанных в фразе FROM. Если в фразе FROM вы указываете более одной таблицы или представления, их имена следует отделять запятыми.

Совет. Оператор DELETE не поддерживает применение операции JOIN, поэтому вам следует связывать таблицы или представления в фразе WHERE оператора.

Если таблица участвует в отношении, важно не допустить, чтобы при удалении в главной таблице оставались "висячие" строки. Висячими строками называют строки в зависимой таблице (таблице внешнего ключа), которые не имеют соответствующих строк в главной таблице (таблице первичного ключа). Новинкой в SQL Server 2000 является возможность каскадных удалений в отношении. Если для отношения задается каскадное удаление, SQL Server автоматически удалит строки в зависимой таблице, чтобы не оставлять висячих строк. На рис. 19.1 показано отношение, установленное между таблицами Oils и PlantParts.


Рис. 19.1. Каскадные удаления выполняются на вкладке Relationships (Отношения) диалогового окна Properties (Свойства).


Использование оператора DELETE

Подобно другим операторам SQL, используемым в конструкторе запросов Query Designer, оператор DELETE может быть непосредственно введен в панели SQL Pane, либо создан с использованием графических панелей.

Удаление строк с использованием панели сетки Grid Pane и панели диаграмм Diagram Pane

Панель сетки и панель диаграмм конструктора запросов Query Designer предоставляют графические средства для создания операторов DELETE; однако, они не поддерживают применение фразы FROM, которая дает возможность использовать в операторе DELETE дополнительные таблицы и представления.

Удалите избранные строки из таблицы

  1. Перейдите к папке Tables базы данных Aromatherapy. SQL Server отобразит список таблиц в рабочей панели Details Pane.


увеличить изображение

  1. Щелкните правой кнопкой мыши на таблице MyOils, укажите на Open Table (Открытие таблицы) и выберите Query (Запрос). Будет открыт конструктор запросов Query Designer.

 

  1. Скройте панель SQL Pane и панель результатов Results Pane.

 

  1. Щелкните на кнопке Change Query Type (Изменить тип запроса) в панели инструментов конструктора запросов, а затем выберите Delete (Удалить).


увеличить изображение

  1. Не закрывая окно конструктора запросов, откройте новое представление таблицы MyOils, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane, открыв Open Table (Открытие таблицы) и выбрав Return All Rows (Показать все строки).
  2. Переместитесь в конец таблицы, чтобы убедиться, что в ней имеется четыре строки, начинающиеся с "Insert".


увеличить изображение

  1. Вернитесь в окно конструктора запросов Query Designer, содержащее оператор DELETE.
  2. Добавьте выражение Left(OilName, 6) в ячейку Column и добавьте условие = 'Insert' в ячейку Criteria.


увеличить изображение

  1. Нажмите кнопку Run (Выполнить) в панели инструментов конструктора запросов, чтобы исполнить запрос. Enterprise Manager отобразит сообщение, подтверждающее, что четыре строки были удалены.

 

  1. Нажмите ОК, чтобы закрыть окно сообщения. Вернитесь в окно конструктора запросов, отображающее все строки из таблицы MyOils.
  2. Нажмите кнопку Run (Выполнить) в панели инструментов конструктора запросов, чтобы повторно исполнить базовый запрос SELECT*.
  3. Переместитесь в конец таблицы, чтобы убедиться, что строки, начинающиеся с "Insert", были удалены.


увеличить изображение










Последнее изменение этой страницы: 2018-04-11; просмотров: 292.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...