MS-SQL Tabelle ohne Inhalt nur mit Spalten erzeugen.

  • VB.NET
  • .NET (FX) 3.0–3.5

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von rrobbyy.

    MS-SQL Tabelle ohne Inhalt nur mit Spalten erzeugen.

    Moin! :)
    Ich wollte in meinen anderen Datenbankthread die Frage stellen, aber leider kann man dort keine neue Antwort schreiben.
    Deshalb habe ich hier einen neuen Thread gestartet.

    Mein Ziel ist es, wenn man von einer Tabelle einen Datensatz löscht, das dieser auch im Trigger in eine Backup-Tabelle gelangt.
    Dies funktioniert wunderbar!
    Zum Problem, ich erstelle die tblBenutzerBackup neu, mit dem Befehl CREATE TABLE.
    Gibt es dazu, noch einen anderen Weg, dieser weniger Code beansprucht.
    Oder war das schon der richtige Weg?
    Leider finde ich nur Code im Internet, um eine Tabelle zu kopieren mit Inhalt.
    Ich möchte aber nur die Tabelle mit Ihren Spalten ohne Inhalt.
    Freue mich sehr, falls mir jemand helfen kann.
    Da ich guten Code schreiben möchte.
    BIG THX

    VB.NET-Quellcode

    1. Private Sub HerstelleTrigger()
    2. ' Erstelle eine neue BackupBenutzer Tabelle...
    3. Dim sql_1 As String =
    4. "CREATE TABLE dbo.tblBenutzerBackup(
    5. ID int IDENTITY(1,1) NOT NULL,
    6. Anrede nvarchar(50) NULL,
    7. Vorname nvarchar(50) NULL,
    8. Nachname nvarchar(50) NULL,
    9. Straße nvarchar(50) NULL,
    10. Stadt nvarchar(50) NULL,
    11. PLZ nvarchar(5) NULL,
    12. Land nvarchar(50) NULL,
    13. Geburtsdatum date NULL,
    14. Email nvarchar(50) NULL,
    15. Telefon nvarchar(50) NULL)"
    16. SQL.TabelleFüllenÄndern(sql_1)
    17. ' Erstelle einen neuen trBackupBenutzer Trigger...
    18. Dim sql_2 As String =
    19. "CREATE TRIGGER trBackupBenutzer
    20. ON tblBenutzer
    21. FOR DELETE
    22. AS
    23. INSERT INTO tblBenutzerBackup
    24. SELECT ID,Anrede,Vorname,Straße,Stadt,PLZ,Land,Geburtsdatum,Email,Telefon
    25. FROM deleted"
    26. SQL.TabelleFüllenÄndern(sql_2)
    27. End Sub
    Visual Basic.NET 8o
    MS-SQL
    8o