Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

SQL Server 2005. Удаляет строки из таблиц и представлений



Удаляет строки из таблиц и представлений.

Синтаксические обозначения в 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...