Использование оператора 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!