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



Урок: Удаление строк: версия для печати и PDA

 

SQL Server предоставляет два оператора для удаления строк из таблицы или представления: оператор DELETE и оператор TRUNCATE TABLE. Оператор TRUNCATE TABLE безо всяких условий удаляет все строки в таблице. Оператор DELETE обеспечивает большую гибкость и дает возможность удалять только избранные строки с помощью фразы WHERE, которая может включать дополнительные таблицы и представления.

Вы научитесь:

  • удалять избранные строки из таблицы с использованием панели сетки Grid Pane;
  • удалять строки с использованием оператора DELETE...WHERE;
  • удалять строки с использованием оператора DELETE...FROM...WHERE;
  • удалять строки с использованием каскадного удаления;
  • удалять все строки с использованием оператора TRUNCATE TABLE.

Понятие об операторе 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, либо создан с использованием графических панелей.


Дата добавления: 2021-04-05; просмотров: 58; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!