none
SQL Datenbanken T-SQL

    Frage

  • Ich bin Anfänger:

    Habe eine Datenbank angelegt mit der Tabelle "Bestellung"

    Datenbank heißt "Getraenkehandel"

    Die Tabellensätze sind von Satz-Nr.1 bis Satz-Nr. 30 angelegt worden,ich möchte alle Sätze wieder löschen und bei

    Satz-Nr. 1 wieder beginnen, wie kann ich das Programmieren ?.

    geht es mit ClearBeforeFill=True ?

    können Sie mir die Programmierung mailen ?

    Mail: knaack.horst@t-online.de

    Vielen Dank im vorraus, es eilt sehr.  Horst Knaack

    Freitag, 12. Januar 2018 15:59

Antworten

  • Hallo Horst,

    erst ein paar Regeln für die Teilnahme am Forengeschehen.

    Fertigen Code schreibt dir hier keiner, dafür gibt es kostenpflichtige Dienstleister, die dich gerne unterstützen.

    Fragen im Forum werden fast ausnahmslos auch im Forum beantwortet.

    Meistens eilt es bei jedem, daher ist es unnötig, das dabei zu schreiben. Wir sind alle freiwillig hier.

    ---

    Zur Frage selbst:

    Was ClearBeforeFill sein soll, erschließt sich mir nicht. MIt T-SQL hat es auf jeden Fall schon mal nichts zu tun. Das wäre evtl. etwas für einen TableAdapter, dann ist die Frage aber im falschen Forum gestellt.

    Rein per T-SQL kann man Datensätze mit:

    DELETE
    FROM   <Tabelle>
    WHERE  <Bedingung>

    löschen. Falls Du eine IDENTITY Spalte angelegt hast, führt das aber nicht dazu, dass diese Werte wieder zurückgesetzt werden.

    Um das zu machen, kannst Du einen Befehl wie bspw.:

    DBCC CHECKIDENT( 'dbo.Bestellungen', RESEED, 0 );

    Siehe dazu:

      DBCC CHECKIDENT (Transact-SQL)


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Freitag, 12. Januar 2018 16:06
    Moderator
  • Hallo Horst,

    wird die Nummer automatisch vergeben (IDENTITY)?

    Dann kannst Du mit Hilfe von TRUNCATE TABLE die Tabelle leeren.
    Da TRUNCATE TABLE ein DDL-Command ist, wird die IDENTITY wieder zurückgesetzt.

    Hier mal ein Beispiel:

    BEGIN TRAN;
    GO
    	DBCC CHECKIDENT(N'dbo.Addresses');
    	TRUNCATE TABLE dbo.Addresses;
    	DBCC CHECKIDENT(N'dbo.Addresses');
    COMMIT TRAN;
    GO

    Vor dem TRUNCATE-Befehl lasse ich mir die aktuelle ID ausgeben. Sie sollte nach dem TRUNCATE einen Wert von NULL haben.


    Uwe Ricken (Blog | Twitter)
    Microsoft Certiied Master - SQL Server 2008
    Microsoft Certified Solution Master - CHARTER Data Platform
    Microsoft Certified Solution Expert - Data Platform
    db Berater GmbH
    Microsoft SQL Server Blog (german only)

    Samstag, 13. Januar 2018 10:15

Alle Antworten

  • Dann schau doch mal hier nach

    http://datenbanken-verstehen.de/

    Freitag, 12. Januar 2018 16:03
  • Hallo Horst,

    erst ein paar Regeln für die Teilnahme am Forengeschehen.

    Fertigen Code schreibt dir hier keiner, dafür gibt es kostenpflichtige Dienstleister, die dich gerne unterstützen.

    Fragen im Forum werden fast ausnahmslos auch im Forum beantwortet.

    Meistens eilt es bei jedem, daher ist es unnötig, das dabei zu schreiben. Wir sind alle freiwillig hier.

    ---

    Zur Frage selbst:

    Was ClearBeforeFill sein soll, erschließt sich mir nicht. MIt T-SQL hat es auf jeden Fall schon mal nichts zu tun. Das wäre evtl. etwas für einen TableAdapter, dann ist die Frage aber im falschen Forum gestellt.

    Rein per T-SQL kann man Datensätze mit:

    DELETE
    FROM   <Tabelle>
    WHERE  <Bedingung>

    löschen. Falls Du eine IDENTITY Spalte angelegt hast, führt das aber nicht dazu, dass diese Werte wieder zurückgesetzt werden.

    Um das zu machen, kannst Du einen Befehl wie bspw.:

    DBCC CHECKIDENT( 'dbo.Bestellungen', RESEED, 0 );

    Siehe dazu:

      DBCC CHECKIDENT (Transact-SQL)


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Freitag, 12. Januar 2018 16:06
    Moderator
  • Hallo Horst,

    wird die Nummer automatisch vergeben (IDENTITY)?

    Dann kannst Du mit Hilfe von TRUNCATE TABLE die Tabelle leeren.
    Da TRUNCATE TABLE ein DDL-Command ist, wird die IDENTITY wieder zurückgesetzt.

    Hier mal ein Beispiel:

    BEGIN TRAN;
    GO
    	DBCC CHECKIDENT(N'dbo.Addresses');
    	TRUNCATE TABLE dbo.Addresses;
    	DBCC CHECKIDENT(N'dbo.Addresses');
    COMMIT TRAN;
    GO

    Vor dem TRUNCATE-Befehl lasse ich mir die aktuelle ID ausgeben. Sie sollte nach dem TRUNCATE einen Wert von NULL haben.


    Uwe Ricken (Blog | Twitter)
    Microsoft Certiied Master - SQL Server 2008
    Microsoft Certified Solution Master - CHARTER Data Platform
    Microsoft Certified Solution Expert - Data Platform
    db Berater GmbH
    Microsoft SQL Server Blog (german only)

    Samstag, 13. Januar 2018 10:15