![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Удаляет строки из таблиц и представлений.
Синтаксические обозначения в Transact-SQL
Синтаксис
[ WITH <common_table_expression> [,...n ] ]DELETE [ TOP (expression) [ PERCENT ] ] [ FROM ] { table_name [ WITH (<table_hint_limited> [...n ]) ] | view_name | rowset_function_limited | table_valued_function } [ <OUTPUT Clause> ] [ FROM <table_source> [,...n ] ] [ WHERE { <search_condition> | { [ CURRENT OF { { [ GLOBAL ] cursor_name } | cursor_variable_name } ] } } ] [ OPTION (<Query Hint> [,...n ]) ] [; ] <object>::={ [ server_name.database_name.schema_name. | database_name. [ schema_name ]. | schema_name. ] table_or_view_name }Аргументы
WITH <common_table_expression>
Задает временный именованный результирующий набор, также называемый обобщенным табличным выражением, который определяется в области действия инструкции DELETE. Результирующий набор получается из инструкции SELECT.
Обобщенные табличные выражения также можно использовать в инструкциях SELECT, INSERT, UPDATE и CREATE VIEW. Дополнительные сведения см. в разделе WITH общее_табличное_выражение (Transact-SQL).
TOP ( expression ) [ PERCENT ]
Задает число или процент случайных строк для удаления. Выражение expression может быть либо числом, либо процентом строк. Строки, на которые ссылается выражение TOP, используемое с инструкциями INSERT, UPDATE и DELETE, не упорядочиваются.
Разделение круглыми скобками выражения expression в выражении TOP требуется в инструкциях INSERT, UPDATE и DELETE. Дополнительные сведения см. в разделе TOP (Transact-SQL).
FROM
Необязательное ключевое слово, которое можно использовать между ключевым словом DELETE и целевым аргументом table_or_view_name или rowset_function_limited.
server_name
Имя сервера (с использованием имени связанного сервера или функции OPENDATASOURCE в качестве имени сервера), на котором расположена таблица или представление. Если аргумент server_name указывается, аргументы database_name и schema_name обязательны.
database_name
Имя базы данных.
schema_name
Имя схемы, которой принадлежит таблица или представление.
table
Имя таблицы, из которой удаляются строки.
Переменную table в пределах ее области действия также можно использовать в качестве источника таблицы в инструкции DELETE.
WITH ( <table_hint_limited> [... n ] )
Задает одну или несколько табличных подсказок, разрешенных для целевой таблицы. Ключевое слово WITH и круглые скобки обязательны. Использование ключевых слов NOLOCK и READUNCOMMITTED запрещено. Дополнительные сведения о табличных подсказках см. в разделе Табличная подсказка (Transact-SQL).
view_name
Имя представления, из которого удаляются строки.
Представление, на которое ссылается аргумент view_name, должно быть обновляемым и ссылаться ровно на одну базовую таблицу в предложении FROM данного представления. Дополнительные сведения об обновляемых представлениях см. в разделе CREATE VIEW (Transact-SQL).
rowset_function_limited
Функция OPENQUERY или OPENROWSET в зависимости от возможностей поставщика. Дополнительные сведения о возможностях, требуемых для поставщика см. в разделе Требования UPDATE и DELETE для поставщиков OLE DB.
table_valued_function
Может быть возвращающей табличное значение функцией. Дополнительные сведения о возвращающих табличное значение функциях см. в разделеВозвращающие табличное значение пользовательские функции.
<OUTPUT_Clause>
Возвращает удаленные строки или выражения, основанные на них, как часть операции DELETE. Предложение OUTPUT не поддерживается ни в каких инструкциях DML, направленных на представления и удаленные таблицы. Дополнительные сведения см. в разделе Предложение OUTPUT (Transact-SQL).
FROM <table_source>
Задает дополнительное предложение FROM. Это расширение языка Transact-SQL для инструкции DELETE позволяет задавать данные из <table_source> и удалять соответствующие строки из таблицы в первом предложении FROM.
Это расширение, в котором задается соединение, может быть использовано вместо вложенного запроса в предложении WHERE для указания удаляемых строк.
Дополнительные сведения см. в разделе FROM (Transact-SQL).
WHERE
Указывает условия, используемые для ограничения числа удаляемых строк. Если предложение WHERE не указывается, инструкция DELETE удаляет все строки из таблицы.
Предусмотрено два вида операций удаления в соответствии с тем, что указывается в предложении WHERE.
· Операции удаления с поиском указывают условие поиска для уточнения строк, которые будут удалены. Например, WHERE column_name = value.
· Операции удаления по позиции используют предложение CURRENT OF для указания курсора. Удаление осуществляется в текущей позиции курсора. Эта операция может быть более точной, чем инструкция DELETE по найденному, которая использует предложение WHERE search_condition для указания удаляемых строк. Инструкция DELETE по найденному удаляет несколько строк, если условие поиска не определяет уникально одну строку.
<search_condition>
Указывает ограничивающие условия для удаляемых строк. Количество предикатов, которое может содержать условие поиска, не ограничено. Дополнительные сведения см. в разделе Условие поиска (Transact-SQL).
CURRENT OF
Указывает выполнение инструкции DELETE в текущей позиции указанного курсора.
GLOBAL
Указывает, что аргумент cursor_name ссылается на глобальный курсор.
cursor_name
Имя открытого курсора, из которого производится выборка. Если существует как глобальный, так и локальный курсор с именем cursor_name, то, когда указывается GLOBAL, этот аргумент указывает на глобальный курсор; в противном случае — на локальный курсор. Курсор должен позволять производить обновления.
cursor_variable_name
Имя переменной курсора. Переменная курсора должна содержать ссылку на курсор, обновления которого разрешены.
OPTION ( <query_hint> [,... n ] )
Ключевые слова, показывающие, что подсказки оптимизатора применяются при настройке способа обработки инструкции компонентом Database Engine. Дополнительные сведения см. в разделе Подсказка в запросе (Transact-SQL).
Дата публикования: 2015-02-03; Прочитано: 162 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!