Gewusst wie: Vornehmen von Änderungen an Datenbankobjekten durch Umbenennen und Refactoring
Mit dem Kontextmenü „Umgestalten“ im Transact-SQL-Editor können Sie ein Objekt umbenennen oder in ein anderes Schema verschieben. Außerdem können Sie eine Vorschau aller betroffenen Bereiche anzeigen, bevor Sie einen Commit für die Änderung ausführen. Mithilfe des Menüs „Umgestalten“ können Sie auch alle Verweise auf Datenbankobjekte vollständig qualifizieren, und Sie können Platzhalterzeichen in SELECT
-Anweisungen im Datenbankprojekt erweitern.
Warnung
Bei den folgenden Vorgehensweisen werden Entitäten verwendet, die in vorherigen Vorgehensweisen in den Abschnitten zur Entwicklung projektorientierter Offlinedatenbanken erstellt wurden.
So benennen Sie einen Typ um
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Tabelle Products (Products.sql), und wählen Sie Code anzeigen aus, um das Skript im Transact-SQL-Editor zu öffnen.
Klicken Sie im Skript mit der rechten Maustaste auf
[Products]
, und klicken Sie auf Umgestalten und Umbenennen.Ändern Sie den Namen im Feld Neuer Name in Product. Lassen Sie die Option Vorschau der Änderungen aktiviert, und klicken Sie auf OK.
Der nächste Bildschirm enthält die Vorschau einer Liste von Skripts, die von diesem Umbenennungsvorgang betroffen sind. Darin sind insbesondere die Stellen hervorgehoben, die auf
Products
verweisen. Dies ähnelt der Aufgabe "Alle Verweise suchen" in der vorherigen Prozedur. Klicken Sie auf eine beliebige Stelle im oberen Bereich, und überprüfen Sie im unteren Bereich die tatsächliche Änderung in den Skripts (hervorgehoben in Grün).Klicken Sie auf Anwenden.
Beachten Sie, dass bei Skriptdateien, die bereits im Tabellen-Designer oder im Transact-SQL-Editor geöffnet sind, die Stellen, an denen Änderungen vorgenommen wurden, am linken Rand des Transact-SQL-Editors mit einer grünen Leiste markiert sind.
Beachten Sie, dass TradeDev.refactorlog wurde im Projektmappen-Explorer hinzugefügt. Öffnen Sie die Datei, indem Sie darauf doppelklicken. Sie enthält eine XML-Darstellung sämtlicher Änderungen in dieser Sitzung.
Drücken Sie F5, um das Projekt zu erstellen und in der lokalen Datenbank bereitzustellen.
Klicken Sie im SQL Server-Objekt-Explorer unter Lokal mit der rechten Maustaste auf die Datenbank TradeDev, und wählen Sie Aktualisieren aus.
Erweitern Sie Tabellen. Die Tabelle Products wurde umbenannt.
Klicken Sie mit der rechten Maustaste auf Product, und wählen Sie Daten anzeigen aus. Vergewissern Sie sich, dass vorhandene Daten ungeachtet des Umbenennungsvorgangs unverändert beibehalten wurden.
Warnung
Wenn ein Refactoring-Protokoll gelöscht wird, wird der vollständige Verlauf des Refactorings gelöscht. Wenn das Projekt in einer Datenbank veröffentlicht wird, in der noch keine Refactoring-Vorgänge angewendet wurden, werden alle vor dem Löschen der Refactor-Datei abgeschlossenen Refactoring-Vorgänge als Drop- und Create-Vorgänge veröffentlicht. Daher kann es zu Datenverlusten kommen.
So erweitern Sie Platzhalter
Erweitern Sie im Projektmappen-Explorer den Knoten Funktionen, und doppelklicken Sie auf GetProductsBySupplier.sql.
Platzieren Sie den Cursor auf das Sternchen in dieser Zeile, und klicken Sie mit der rechten Maustaste. Wählen Sie Umgestalten und Platzhalter erweitern aus.
SELECT * from Product p
Klicken Sie im Dialogfeld Vorschau der Änderungen auf
SELECT * from Product p
im oberen Bereich, um die Änderung zu markieren.Im darunter liegenden Bereich Vorschau der Änderungen wurde nun
*
im Skript zu Folgendem erweitert.[Id], [Name], [ShelfLife], [SupplierId], [CustomerId]
Klicken Sie auf die Schaltfläche Übernehmen. Die Zeile, die die durch den Erweiterungsvorgang hervorgerufene Änderung enthält, ist wiederum mit einer grünen Leiste am linken Rand hervorgehoben.
So qualifizieren Sie Namen von Datenbankobjekten vollständig
Stellen Sie sicher, dass GetProductsBySupplier.sql noch im Transact-SQL-Editor geöffnet ist.
Platzieren Sie den Cursor auf
Product
in dieser Zeile, und klicken Sie mit der rechten Maustaste. Wählen Sie Umgestalten und Vollqualifizierte Namen aus.SELECT [Id], [Name], [ShelfLife], [SupplierId], [CustomerId] from Product p
Klicken Sie im Dialogfeld Vorschau der Änderungen auf die Schaltfläche Anwenden. Beachten Sie, dass sämtliche Objektverweise so aktualisiert wurden, dass sie nun den Namen des Objektschemas und (falls das jeweilige Objekt über ein übergeordnetes Objekt verfügt) den Namen des übergeordneten Objekts enthalten.
SELECT [p].[Id], [p].[Name], [p].[ShelfLife], [p].[SupplierId], [p].[CustomerId] from [dbo].[Product] p
So verschieben Sie ein Schema
Klicken Sie mit der rechten Maustaste auf das zu verschiebende Objekt. Wählen Sie Umgestalten und Schema verschieben aus.
Klicken Sie in der Liste Neues Schema auf den Namen des Schemas, in das das Objekt verschoben werden soll. Klicken Sie auf OK.
Wenn Sie das Kontrollkästchen Vorschau der Änderungen aktiviert haben, wird das Dialogfeld Vorschau der Änderungen angezeigt. Andernfalls wird der Objektname aktualisiert und das Objekt in das neue Schema verschoben.