Wie um zu überprüfen, ob eine Tabelle leer ist und wenn dem so ist, löschen Sie alle Zeilen in SQL Server 2008?

Schreibe ich eine Reihe von SQL-insert-Anweisungen in Microsoft SQL Server Management Studio 2008. Meine Frage ist: Wie kann ich überprüfen, um zu sehen, wenn Sie eine vorhandene Tabelle, in der alle Zeilen, und wenn dem so ist, löschen Sie alle Zeilen dann weiter mit meiner insert-Anweisungen?

Bascially, ich bin auf der Suche nach einer Anweisung, dies zu tun wäre:

Wenn "greek_organizations" hat Daten
löschen Sie alle Zeilen

Danke für die Hilfe!

  • Warum die Mühe? Löschen Sie alle Zeilen. Wenn die Tabelle leer ist, ist es kaum Ressourcen, und wenn nicht, ist es sinnlos zu prüfen. Löschen Sie einfach die Zeilen und bewegen auf.
  • Sie können verwenden Sie truncate greek_organizations, das wäre schneller, als es keine Transaktion beteiligt.
  • das ist nicht wahr. Sie wissen nicht, ob die OP wird über eine Transaktion oder nicht (der hat null Einfluß auf die performance hier). Es kann auch sein, fremde Schlüssel, die verhindern, dass das abschneiden.
  • Aber wenn die Tabelle leer ist, wird ein löschen braucht nicht mehr Ressourcen als ein Graf.
  • Sie können nicht verwenden Sie truncate, wenn es FK-Beziehungen
  • du hast Recht
  • das ist richtig. nehmen wird wieder mein Kommentar.

InformationsquelleAutor James Curtis | 2014-12-01
Schreibe einen Kommentar