loading..
Русский    English
14:03
листать

Оператор DELETE стр. 3

PostgreSQL

  1. Поддерживаются опции CONTINUE IDENTITY и RESTART IDENTITY, при этом опция CONTINUE IDENTITY принимается по умолчанию.
  2. Можно удалить одним оператором строки из нескольких таблиц, перечислив их через запятую.
  3. Допускаются каскадные операции, т.е. усечение связанных таблиц:

  1. TRUNCATE TABLE Truncate_test RESTART IDENTITY CASCADE;

Причем происходит именно усечение, а не удаление связанных строк. Т.е. если вставить в ссылающуюся таблицу среди прочих строку с NULL-значением во внешнем ключе

  1. INSERT INTO Trun_Ref VALUES(1), (2), (NULL);
то она также будет удалена наряду с остальными.

Oracle

  1. В Oracle нет функции для автоинкремента, которую можно указать в определении столбца. Однако поведение автоинкремента можно сымитировать с помощью последовательности (SEQUENCE). Например, подобную ранее рассмотренной таблицу Truncate_test в Oracle можно создать следующим образом:
    1. CREATE SEQUENCE u_seq
    2.  START WITH     5
    3.  INCREMENT BY   5;
    4. /
    5. CREATE TABLE Truncate_test (id INT PRIMARY KEY, val int);
    6. /
    7. INSERT INTO Truncate_test(id, val)
    8. VALUES (u_seq.NEXTVAL,1);
    9. INSERT INTO Truncate_test(id, val)
    10. VALUES (u_seq.NEXTVAL,2);
    11. INSERT INTO Truncate_test(id, val)
    12. VALUES (u_seq.NEXTVAL,3);

  2. При выполнении оператора TRUNCATE TABLE Truncate_test состояние счетчика (последовательности) не сбрасывается, и нумерация будет продолжена.
  3. Каскадные операции не допускаются, т.е. оператор неприменим, если на таблицу есть ссылка по внешнему ключу.

MySQL

  1. Не поддерживаются опции CONTINUE IDENTITY и RESTART IDENTITY, при этом состояние счетчика (AUTO_INCREMENT) сбрасывается.
  2. Допускаются каскадные операции по аналогичии с оператором DELETE, т.е. если внешний ключ имеет опцию ON DELETE CASCADE, то удаляются только связанные записи. Это значит, что строки с NULL-значением внешнего ключа остаются после выполнения оператора
    1. TRUNCATE TABLE Truncate_test;
Bookmark and Share
Страницы: 1 2 3
Тэги:
ALL AND AUTO_INCREMENT AVG battles CASE CAST CHAR CHARINDEX CHECK classes COALESCE CONSTRAINT Convert COUNT CROSS APPLY CTE DATEADD DATEDIFF DATENAME DATEPART DATETIME DDL DEFAULT DELETE DISTINCT DML EXCEPT EXISTS EXTRACT FOREIGN KEY FROM FULL JOIN GROUP BY Guadalcanal HAVING IDENTITY IN INFORMATION_SCHEMA INNER JOIN insert INTERSECT IS NOT NULL IS NULL ISNULL laptop LEFT LEFT OUTER JOIN LEN maker Больше тэгов
Учебник обновлялся
месяц назад
https://exchangesumo.com/obmen/CNTRUB-EXMUSD/
©SQL-EX,2008 [Развитие] [Связь] [О проекте] [Ссылки] [Team]
Перепечатка материалов сайта возможна только с разрешения автора.