ВСТАВЬТЕ по сравнению с INSERT INTO

83
задан Bill the Lizard 28 September 2012 в 21:55
поделиться

8 ответов

INSERT INTO стандарт. Даже при том, что INTO является дополнительным в большинстве реализаций, это требуется в некоторых, таким образом, это - хорошая идея включать его, чтобы гарантировать, что Ваш код является портативным.

можно найти ссылки на несколько версий стандарта SQL здесь . Я нашел версию HTML более старого стандарта здесь .

88
ответ дан Bill the Lizard 24 November 2019 в 08:54
поделиться

Они - то же самое, INTO является абсолютно дополнительным в T-SQL (другие диалекты SQL могут отличаться).

Вопреки другим ответам, я думаю, что это повреждает удобочитаемость для использования INTO.

я думаю, что это - концептуальная вещь: В моем восприятии я не вставляю строка в таблицу под названием "Клиент", но я вставляю Клиент . (Это подключено к тому, что я использую для именования моих таблиц в исключительном, не множественном).

, Если бы Вы следуете за первым понятием, INSERT INTO Customer, скорее всего, "чувствовал бы себя хорошо" для Вас.

, Если бы Вы следуете за вторым понятием, это, скорее всего, было бы INSERT Customer для Вас.

20
ответ дан Tomalak 24 November 2019 в 08:54
поделиться

Это может быть дополнительным в MySQL, но это обязательно в некотором другом DBMSs, например, Oracle. Таким образом, SQL будет более потенциально портативным с В ключевое слово, если это имеет значение.

10
ответ дан Tony Andrews 24 November 2019 в 08:54
поделиться

Один урок, который я склонился об этой проблеме, - то, что необходимо всегда сохранять ее последовательной! При использовании INSERT INTO не используйте, ВСТАВЛЯЮТ также. Если Вы не делаете этого, некоторые программисты могут задать тот же вопрос снова.

Вот мой другой связанный случай в качестве примера: у Меня был шанс обновить очень очень длинную хранимую процедуру в SQL MS 2005. Проблема состоит в том, что слишком много данных были вставлены в таблицу результата. Я должен был узнать, куда данные прибыли из. Я пытался узнать, где новые записи были добавлены. Вначале раздел SP, я видел несколько ВСТАВОК INTOs. Тогда я попытался найти "INSERT INTO" и обновил их, но я пропустил одно место, где только "ВСТАВКА" использовалась. Тот на самом деле вставил 4k + строки пустых данных в некоторых столбцах! Конечно, я должен просто искать, ВСТАВЛЯЮТ. Однако это произошло со мной. Я обвиняю предыдущего ИДИОТА программиста:):)

4
ответ дан David.Chu.ca 24 November 2019 в 08:54
поделиться

Они оба делают то же самое. В является дополнительным (в T-SQL SQL Server), но помогает удобочитаемости.

1
ответ дан DOK 24 November 2019 в 08:54
поделиться

Я предпочитаю использовать его. Это поддерживает то же чувство формирования рисунка синтаксиса и удобочитаемость как другие части языка SQL, как group BY, order BY.

0
ответ дан Bill the Lizard 24 November 2019 в 08:54
поделиться

При наличии используйте стандартную функцию. Не то, чтобы Вам когда-либо нужна мобильность для Вашей конкретной базы данных, но возможности - Вы мобильность потребности для Вашего знания SQL. Конкретным противным примером T-SQL является использование isnull, использование объединяют!

0
ответ дан C B 24 November 2019 в 08:54
поделиться

В SQL Server 2005 у Вас могло быть что-то промежуточная ВСТАВКА и В подобный это:

INSERT top(5) INTO tTable1 SELECT * FROM tTable2;

Хотя это работает без В, я предпочитаю использовать В для удобочитаемости.

3
ответ дан devXen 24 November 2019 в 08:54
поделиться