Sie können die separaten ALTER-Anweisungen vermeiden, indem Sie die SSMS-Skriptoptionen ändern. Wählen Sie im SSMS-Menü Extras -> Optionen -> SQL Server-Objekt-Explorer -> Skripterstellung die Option Kommandos ANSI PADDING generieren auf false.
Der Grund, warum einige der Spalten als ALTER
Anweisungen geschrieben werden, liegt daran, dass die Spalten unterschiedliche ANSI_PADDING-Einstellungen haben. Die Session-ANSI_PADDING-Einstellung, die für die Spalten wirksam war, ist Teil der Spaltenmetadaten. ANSI_PADDING ON
(empfohlen) behält nachgestellte Leerzeichen nach dem SQL-Standard ANSI, während ANS_PADDING OFF
sie entfernt. Die OFF
Einstellung dient nur dazu, ältere Sybase-Kompatibilität bereitzustellen.
Meiner Erfahrung nach wird ANS_PADDING OFF
oft versehentlich aufgrund von Unachtsamkeit auf Sitzungseinstellungen festgelegt. Selten möchte oder muss man nachstehende Leerzeichen aus Werten entfernen, die während Einfügungen und Aktualisierungen geliefert wurden. Am besten stellen Sie immer sicher, dass die Sitzungseinstellung ANS_PADDING ON
beim Erstellen oder Ändern von Tabellen wirksam ist.
So haben Sie die Tabelle erstellt. Wahrscheinlich fügen Sie nach der ursprünglichen Erstellung Original, Geplant und Notiz hinzu. Mit dem Assistenten können Sie mit dieser Tabelle kein weiteres Skript erstellen. – Fleury26
Normalerweise klicken Sie mit der rechten Maustaste auf die Tabellen- und Skripttabelle als. Ich habe noch nie so etwas mit meiner Methode oder der, die du beschreibst, gesehen. Nicht einmal, wenn ich eine Alter-Tabelle verwende, um eine Spalte hinzuzufügen. Meine einzige Vermutung ist, dass die Ansi-Polsterung etwas damit zu tun hat. –