Legen Sie mehrere Zeilen mithilfe einer insert-Anweisung in Access 2010
Möchte ich einfügen mehrerer Werte in einer Access 2010 Tabelle, aber ich kann nicht scheinen, um einen Weg zu finden.
MySQL hatte eine nette Art und Weise:
INSERT INTO Production.UnitMeasure
VALUES
(N'FT2', N'Square Feet ', '20080923'),
(N'Y', N'Yards', '20080923'),
(N'Y3', N'Cubic Yards', '20080923');
Kann so etwas wie das getan werden, in SQL-Server zu?
- Welche ist es? Access 2010 oder SQL Server?
- Access 2010 .Hat die syntax unterscheiden?
- Ja, die syntax unterscheidet sich ebenso wie die Fähigkeiten. Siehe Antwort(en) unten.
- Re: MS Access - ja und Nein - stackoverflow.com/questions/62504/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für SQL-Server: ja, und es kann genau wie Sie schreiben. Nur sicher sein, dass die Werte in der Spalte sind in der gleichen Reihenfolge wie in der Tabelle angezeigt werden. Auch: Sie müssen einen Wert angeben, der für jede vorhandene Spalte.
Access 2010: Keine. Zumindest nicht durch fest codierte Werte in der sql, aber nur, indem Sie mehrere Datensätze aus einer Tabelle (in der gleichen oder in einer anderen Datenbank). Siehe auch den link in der Antwort von Khepri.
Als marc_s hat darauf hingewiesen, für SQL Server 2008 und höher können Sie nur verwenden, Tabelle, Wert-Konstruktoren. Für frühere Versionen, die Sie verwenden können
insert
undselect...union all
, z.B.:(Spezifische Dokumentation auf Tabellenwertkonstruktors in SQL Server. Ich kann nicht finden, bestimmte separaten Dokumentation der Zeile-Wert-Konstruktoren, aber das ist, was Sie sind)
Verwenden Sie diese bestätigen zu arbeiten-Abfrage:
SQL Server auf jeden Fall ermöglicht dies: EDIT: [Als der SQL-Server-2008, vielen Dank Marc_s]
Als für den Access-Anforderung, ich bin kein access-guru, aber ich fand in diesem MSDN-Dokumentation, das zeigt, wie mehrere Einsätze auf einmal.
Tun einige kursorische Lektüre hinaus können Sie ein "dummy" aus der Tabelle, wenn alle Ihre Werte bekannt sind, vor der Zeit, wie in Ihrem Beispiel.
Erstellen Sie eine Tabelle namens OneRow mit einem einzigen integer-Spalte. Eine Zeile einfügen.
Dann:
Ihre genaue syntax funktioniert mit SQL Server 2008. Für die frühere Nutzung meiner obigen Abfrage ohne FROM-Klauseln und keine helper-Tabelle.
MS Access nicht erlaubt, mehrere einfügen von gleichen sql-Fenster. Wenn Sie möchten, einfügen, sagen 10 Zeilen in Tabelle, sagen Film (mid, mname, mdirector,....), Sie würde müssen
öffnen Sie die sql windows,
Sehr langweilig.
Stattdessen importieren Sie die Zeilen aus excel zu tun:
Den ganzen Datensatz in excel geladen wurde, werden in der Tabelle "FILM"
Ich weiß, ich bin ein bisschen spät, um das Spiel, aber ich wollte genau die gleiche Sache, die Sie Jungs erwähnt in deinem Beispiel. Ich habe versucht, legen Sie eine neue Liste von Standard-Zeilen in eine Tabelle/Liste mit Access, weil ich habe eine Menge von SQL-Erfahrung, ich war versucht, es zu tun die gleiche Weise, jedoch als Sie Plakate bemerkt haben, es ist nicht möglich, den Gewerkschaften und so.
Aber ich wollte nur Antworten bis hier, weil in dem Fall, wo man manuell eintippen der Werte (string, default-Werte in diesem Fall) kannst du einfach open Access in der Datenblattansicht angezeigt wird, kopieren Sie Ihre Daten aus Excel und fügen Sie Sie in Ihre Access-Tabelle (oder in meinem Fall SharePoint-Liste). Sie müssen sicherstellen, dass Sie Spalten aufgereiht sind genau, aber wenn Sie gehen, um manuell geben Sie in Ihrem "insert" sql-Anweisungen, nur darum, dass die info in eine Excel-Tabelle sollte nicht eine große Sache sein.
In meinem Fall, meine Tabelle/Liste hatte nur eine einzelne Spalte, die als lookup, also hab ich einfach kopiert, die Spalte aus notepad++ eingefügt und in der Datenblattansicht.
Gutes Glück jeder!
Überprüfen Sie Folgendes,