INSERT in Tabelle ohne Angabe von Spaltennamen

7

Ich habe INVOICE TABLE Ich möchte einen Wert einfügen, indem ich keine Spaltennamen festlege benutze SQL Server , Ich habe das versucht, aber es funktioniert nicht .. bitte Hilfe

%Vor%     
user2393171 19.06.2013, 11:08
quelle

4 Antworten

18

Solange Sie die richtige Anzahl von Spalten in Ihrer INSERT-Anweisung haben und solange alle Werte außer KEYBOARD ein numerischer Datentyp sind, und solange Sie über geeignete Berechtigungen verfügen, sollte dies funktionieren.

%Vor%

SQL erfordert einfache Anführungszeichen um Textwerte.

Aber keine Spaltennamen zu verwenden, ist keine gute Übung. Es ist nicht ungewöhnlich für Leute, die Reihenfolge von Spalten in einer Tabelle zu ändern. Die Reihenfolge der Spalten zu ändern, ist auch keine gute Übung, aber einige Leute bestehen darauf, es trotzdem zu tun.

Wenn jemand das tut und die 5. und 7. Spalte in Ihrer Tabelle vertauscht, wird Ihre INSERT-Anweisung immer noch erfolgreich sein - beide Spalten sind numerisch -, aber das INSERT wird Ihre Daten vermasseln.

    
quelle
8

Warum möchten Sie das tun? Wenn Sie keine Spaltennamen angeben, ist dies eine schlechte Programmiermethode.

In Ihrem Fall muss keyboard jedoch in einfachen Anführungszeichen stehen:

%Vor%

Wenn Sie nur die Spaltennamen nicht eingeben möchten, können Sie sie problemlos in SQL Server Management Studio abrufen. Öffnen Sie den "Objektbrowser", öffnen Sie die Datenbank und wählen Sie "Tabellen". Wählen Sie die Tabelle Invoice . Eine der Optionen ist "Spalten".

Klicken Sie einfach auf den Namen "Spalten" (Sie müssen ihn nicht öffnen) und ziehen Sie ihn in ein Abfragefenster. Es wird die Liste der Spalten einfügen.

    
Gordon Linoff 19.06.2013 11:10
quelle
3

ja Sie können Werte direkt in die Tabelle wie folgt einfügen:

%Vor%     
Parvez Khan 27.02.2017 18:40
quelle
1
%Vor%

Sie vergessen, die einfachen Anführungszeichen in die Tastatur einzufügen, Text erfordert einfache Anführungszeichen in sql

    
Brian lee 19.06.2013 13:15
quelle

Tags und Links