Нормальные формы


DELETE FROM DekanatSchema.Teacher



жүктеу 4,63 Mb.
бет34/72
Дата11.02.2023
өлшемі4,63 Mb.
#41261
түріУчебное пособие
1   ...   30   31   32   33   34   35   36   37   ...   72
Копия Теория баз данных

DELETE FROM DekanatSchema.Teacher
WHERE (Teach_Position= 'Ассистент');


5.3 Удаление записей из нескольких таблиц
При удалении можно задавать конструкции JOIN связывающие несколько страниц, аналогично тому, как связываются таблицы в запросах выборки SELECT:


DELETE <Имя записи для удаления>
FROM <Имя Таблицы1>
JOIN <Имя Таблицы2>
ON <условие объединения>;

Удаление с подзапросом




DELETE FROM StudySchema.Students
WHERE Stud_ID IN
(SELECT Stud_ID
FROM StudySchema.Progress
WHERE Оценка = 2 OR Оценка IS NULL
GROOP BY Stud_ID
HAVING COUNT(*) > 2 )

В отличие от файловых СУБД, SQL Server не помечает записи как удаленные, а удаляет их физически, то есть восстановлению они не подлежат.




5.4 Полная очистка всех строк


TRUNCATE — в языках, подобных SQL, DML - операция очистки всех строк в таблице. Логически эквивалентна операции DELETE без оператора WHERE, однако выполняется быстрее и требует меньших ресурсов системы


TRUNCATE TABLE <Имя Таблицы>

Последствием выполнения такой команды является полное удаление всех строк таблицы <Имя Таблицы>.


Отличия от оператора DELETE


Основные отличия операторов TRUNCATE и DELETE, которые могут присутствовать в различных реализациях СУБД:

  • Операция TRUNCATE не записывает в журнал событий удаление отдельных строк. Вследствие чего не может активировать триггеры.

  • После операции TRUNCATE для некоторых СУБД (например, Oracle) следует неявная операция COMMIT. Поэтому удаленные в таблице записи нельзя восстановить операцией ROLLBACK. Но существуют и СУБД, в которых операция TRUNCATE может участвовать в транзакциях, например, Microsoft SQL Server.

  • Операция DELETE блокирует каждую строку, а TRUNCATE - всю таблицу.

  • Операция TRUNCATE не возвращает какого-то осмысленного значения (обычно возвращает 0) в отличие от DELETE, которая возвращает число удаленных строк.

  • Операция TRUNCATE в некоторых СУБД (например, MySQL или Microsoft SQL Server), сбрасывает значение счетчиков (для полей с AUTOINCREMENT / IDENTITY).

Вообще говоря, реализация оператора TRUNCATE может зависеть от выбора конкретной СУБД. Поэтому в каждом случае рекомендуется смотреть документацию выбранной системы.





жүктеу 4,63 Mb.

Достарыңызбен бөлісу:
1   ...   30   31   32   33   34   35   36   37   ...   72




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау