ВСТАВИТЬ ЗАКЛЮЧЕНИЕ? - PullRequest
       1

ВСТАВИТЬ ЗАКЛЮЧЕНИЕ?

14 голосов
/ 28 марта 2011

Какая разница между

INSERT INTO table VALUES (values)

и

INSERT OVER table VALUES (values)

Ответы [ 5 ]

8 голосов
/ 28 марта 2011

Из всех зарезервированных ключевых слов работают только INTO и OVER.

SQL:2003 упоминает ключевое слово OVERRIDING для переопределения идентификатора (в настоящее время поддерживается только DB2)

Вероятно, SQL Server анализирует его на данный момент, но фактически не выполняет.

Сгенерированные планы идентичны, и ParameterizedText расширен до INSERT INTO.

Так же, как и для 2008R2 ответ будет таким:

Нет разницы, за исключением того, что INSERT OVER уже потратил около 50 человеко-часов наиболее любопытных разработчиков на данный момент, и есть еще что сделать

4 голосов
/ 05 апреля 2011

Сотрудники Microsoft говорят :

Спасибо за сообщение об этой проблеме.Мы продолжаем распознавать ключевое слово OVER вместе с ключевым словом INTO (с тем же значением) в операторах INSERT, чтобы обеспечить обратную совместимость с предыдущими версиями SQL Server.Это не должно создавать проблем для разработки приложений.

Евгений Забокрицкий, SQL Engine

2 голосов
/ 28 марта 2011

Согласно этой странице:

http://msdn.microsoft.com/en-us/library/ms174335.aspx

INSERT OVER не является частью определенного синтаксического дерева.Поэтому, даже если он работает, он, вероятно, официально не поддерживается Microsoft.

0 голосов
/ 20 октября 2017

Извинения за воскрешение мертвой нити, но это показывает в верхней части поиска Google для INSERT OVER.Я надеялся найти лучшее объяснение / пример здесь, но эта ссылка делает достойную работу в качестве отправной точки.Если вам нужна информация об операторе INSERT OVER DML (например, команда Merge), просмотрите следующую ссылку: https://decipherinfosys.wordpress.com/2007/11/28/sql-server-2008-insert-over-a-dml-statement/

0 голосов
/ 28 марта 2011

Предположительно INSERT OVER должен перезаписать существующую строку в таблице.Для этого вы бы на самом деле использовали

UPDATE <table> SET <field=value, field2=value2> WHERE <condition to pinpoint row>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...