Jaka jest różnica między using
SELECT ... INTO MyTable FROM...
i
INSERT INTO MyTable (...)
SELECT ... FROM ....
?
Z BOL [ INSERT , SELECT ... INTO ] wiem, że użycie polecenia SELECT ... INTO utworzy tabelę wstawiania w domyślnej grupie plików, jeśli jeszcze nie istnieje, i że rejestrowanie tej instrukcji zależy od odzyskiwania model bazy danych.
- Które stwierdzenie jest lepsze?
- Czy są inne konsekwencje dla wydajności?
- Jaki jest dobry przypadek użycia SELECT ... INTO zamiast INSERT INTO ...?
Edycja: Powiedziałem już, że wiem, że SELECT INTO ... tworzy tabelę tam, gdzie jej nie ma. Chcę wiedzieć, że SQL zawiera tę instrukcję z jakiegoś powodu, co to jest? Czy robi coś innego za kulisami w celu wstawiania wierszy, czy jest to po prostu cukier syntaktyczny na wierzchu CREATE TABLE
i INSERT INTO
.
INSERT INTO
ma dwa słowa kluczowe (wybierz i do) na samym początku, które informują świat, że nie jest to zwykła instrukcja SQL, aSELECT ... INTO
zaczyna przynajmniej wyglądać jak zwykła instrukcja SQL. Mały powód, by faworyzować to pierwsze.