Delete (SQL): відмінності між версіями

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Створена сторінка: '''Delete''' — у мовах, подібних SQL, DML-операція видалення записів з таблиці. Критерій ві...
 
Luckas-bot (обговорення | внесок)
м r2.5.2) (робот додав: lv:Delete (SQL)
Рядок 43: Рядок 43:
[[ja:DELETE (SQL)]]
[[ja:DELETE (SQL)]]
[[ko:Delete (SQL)]]
[[ko:Delete (SQL)]]
[[lv:Delete (SQL)]]
[[nl:Delete (SQL)]]
[[nl:Delete (SQL)]]
[[no:Delete (SQL)]]
[[no:Delete (SQL)]]

Версія за 00:18, 3 січня 2011

Delete — у мовах, подібних SQL, DML-операція видалення записів з таблиці. Критерій відбору записів для видалення визначається виразом Where. У разі, якщо критерій відбору не визначений, виконується видалення всіх записів.

  • У СУБД, що підтримують тригери, операція Delete може викликати їх спрацювання;
  • За наявності на таблиці зовнішніх ключів всі дочірні до тих, що видаляються записи в підлеглих таблицях також повинні бути вилучені для забезпечення посилальної цілісності;
  • У СУБД, що підтримують транзакції, виконання операції Delete повинно бути підтверджено (COMMIT), або спростовано (ROLLBACK) викликом відповідних операцій.

Синтаксис

Загальний синтаксис команди:

DELETE FROM <Ім'я таблиці> WHERE <Умова відбору записів>

Наслідком виконання такої команди буде видалення тих рядків з таблиці <Ім'я таблиці>, які відповідають умові <Умова відбору записів>. При цьому ніякого результату команда не повертає і, отже, не може бути використана в якості параметра в команді SELECT.

Видалення записів з декількох таблиць

При видаленні можна задавати конструкції JOIN зв'язують кілька сторінок, аналогічно тому, як зв'язуються таблиці в запитах вибірки SELECT:

DELETE <Ім'я таблиці для видаления>
    -> FROM <Ім'я таблиці1> JOIN <Ім'я таблиці2> ON <умова об'єднання>;

Приклад:

DELETE ab, b
  FROM Authors AS a, AuthorArticle AS ab, Articles AS b
  WHERE a.AuthID=ab.AuthID AND ab.ArticleID=b.ArticleID
    AND AuthorLastName='Henry';

Пов'язані команди

Видалення всіх записів з таблиці при наявності зовнішніх ключів і механізм транзакцій може зайняти тривалий час. Для повного очищення таблиці може бути використана операція TRUNCATE.