2017-11-24 1 views
0

Ich versuche, ein Erstellungsskript mithilfe des SQL SERVER MANAGEMENT STUDIO-Assistenten zu generieren. Ich habe rechts auf Datenbank -> Aufgabe -> Skript erstellen geklickt und die Tabelle ausgewählt. Aber, wenn ich das Skript aus der Zwischenablage eingefügt, wird es herauskommt alsSo erstellen Sie ein Skript mithilfe der SSMS-Konsole

enter image description here

So kann jemand bitte mich wissen lassen, wie das Skript ändern Tabelle unten zu vermeiden. Ich möchte nur ein einziges CREATE-Skript mit allen 10 Spalten. Danke

+0

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

+0

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. –

Antwort

0

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.

Verwandte Themen