web-dev-qa-db-de.com

LÖSCHEN * FROM-Tabelle

Gibt es eine Möglichkeit (ähnlich wie im folgenden Code), um alle Zeilen in einer angegebenen Tabelle mit c # zu löschen?

SqlConnection con = new SqlConnection(conString);
con.Open();

string sql = @"DELETE*FROM compsTickers;";
SqlCommand cmd = new SqlCommand(sql, con);
cmd.ExecuteNonQuery();
con.Close();

Im Moment bekomme ich einen Fehler: 

Falsche Syntax in der Nähe '*'

14
locoboy

Es ist nichts falsch mit Ihrem C # -Code. Das ist ein SQL-Syntaxfehler.

Der * ist ohnehin nicht erforderlich. Sie löschen Zeilen , nicht Spalten , aus einer Tabelle, so dass Sie keine zu löschenden Spalten angeben:

DELETE FROM compsTickers
47
BoltClock

Sie geben keine Spalten an, DELETE FROM compsTickers reicht aus.

(Auch TRUNCATE TABLE compsTickers reicht aus, es ist eine andere Löschmethode, die je nach Transaktionsprotokolleinstellung sinnvoll sein kann.)

16
cairnz

Entfernen Sie einfach den *, da dies für DELETE-Anweisungen nicht erforderlich ist 

string sql = @"DELETE FROM compsTickers;";

10
codingbadger

DELETE (Transact-SQL) (Verknüpfung)

FROM ist optional. Sie löschen immer aus einer Tabelle. Alles was Sie brauchten, war (Sie benötigen nicht einmal ein Anweisungsbegrenzer für eine einzige Anweisung):

DELETE compsTickers

Was leert den Tisch

  • setzt jedoch die Identitätsspalte nicht zurück, falls vorhanden
3
RichardTheKiwi

Das Schreiben von '*' in die Löschabfrage ist keine gute Praxis. Da wir keine Spalten löschen, löschen wir tatsächlich Zeilen aus der Tabelle.

Das * bezieht sich auf alle Spalten in der Tabelle. Verwenden Sie die folgende Syntax 'Delete from compsTickers', gefolgt von der where-Bedingung.

0
chetan

Die Syntax des Löschbefehls ist nicht korrekt. Sie müssen nicht '*' im Löschbefehl verwenden. Verwenden Sie für Ihren Job den Befehl string sql = @"DELETE FROM compsTickers;".

Vielen Dank.

0
FIre Panda
string sql = @"DELETE FROM compsTickers;";

Sie müssen keinen * verwenden oder in der delete-Anweisung einen Spaltennamen angeben.

0
Alaa

Ich werde vorschlagen, die 

  1. Gespeicherte Prozedur, um die gesamte Operation auszuführen.
  2. Sie müssen immer eine hart codierte Zeichenfolge in Code vermeiden.
  3. Verwalten Sie die Transaktion, falls Sie die Änderungen rückgängig machen müssen.
0
Sonal Satpute