Update sql-struktur.sql
deklarationen zu beginn für übersichtlichkeit
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
-- Wechsel zur Datenbank 'engomo'
|
||||
USE engomo;
|
||||
|
||||
-- Deklariere alle benötigten Variablen und Tabellen zu Beginn
|
||||
|
||||
-- Deklariere eine Variable für das Tabellenpräfix
|
||||
DECLARE @TablePrefix NVARCHAR(128) = 'begehung_';
|
||||
|
||||
@@ -9,6 +11,17 @@ DECLARE @TableSuffixes TABLE (
|
||||
Suffix NVARCHAR(128)
|
||||
);
|
||||
|
||||
-- Deklariere eine Tabellenvariable mit den Spalteninformationen
|
||||
DECLARE @ColumnsToAdd TABLE (
|
||||
TableName NVARCHAR(128),
|
||||
ColumnName NVARCHAR(128)
|
||||
);
|
||||
|
||||
-- Deklariere Variablen für die Spalten-Schleife
|
||||
DECLARE @TargetTable NVARCHAR(128);
|
||||
DECLARE @CurrentColumn NVARCHAR(128);
|
||||
DECLARE @AddColumnSQL NVARCHAR(MAX);
|
||||
|
||||
-- Füge die gewünschten Tabellennamen-Endungen hinzu
|
||||
INSERT INTO @TableSuffixes (Suffix) VALUES
|
||||
('extras'),
|
||||
@@ -20,12 +33,6 @@ INSERT INTO @TableSuffixes (Suffix) VALUES
|
||||
('allgemein'),
|
||||
('usersettings');
|
||||
|
||||
-- Deklariere eine Tabellenvariable mit den Spalteninformationen
|
||||
DECLARE @ColumnsToAdd TABLE (
|
||||
TableName NVARCHAR(128),
|
||||
ColumnName NVARCHAR(128)
|
||||
);
|
||||
|
||||
-- Füge die gewünschten Spalten hinzu, einschließlich begehung_stammdaten ohne engomoid
|
||||
INSERT INTO @ColumnsToAdd (TableName, ColumnName) VALUES
|
||||
-- begehung_extras
|
||||
@@ -111,21 +118,17 @@ INSERT INTO @ColumnsToAdd (TableName, ColumnName) VALUES
|
||||
(@TablePrefix + 'usersettings', 'user_mail'),
|
||||
(@TablePrefix + 'usersettings', 'user_theme');
|
||||
|
||||
-- Deklariere Variablen für die Spalten-Schleife
|
||||
DECLARE @TargetTable NVARCHAR(128);
|
||||
DECLARE @CurrentColumn NVARCHAR(128);
|
||||
DECLARE @AddColumnSQL NVARCHAR(MAX);
|
||||
|
||||
-- Deklariere und öffne einen Cursor, um durch die Spalten zu iterieren
|
||||
-- Verwende eine set-basierte Methode, um durch die Spalten zu iterieren
|
||||
DECLARE column_cursor CURSOR FOR
|
||||
SELECT TableName, ColumnName FROM @ColumnsToAdd;
|
||||
|
||||
OPEN column_cursor;
|
||||
|
||||
FETCH NEXT FROM column_cursor INTO @TargetTable, @CurrentColumn;
|
||||
BEGIN TRY
|
||||
FETCH NEXT FROM column_cursor INTO @TargetTable, @CurrentColumn;
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
-- Überprüfe, ob die Tabelle existiert, andernfalls erstelle die Tabelle
|
||||
IF NOT EXISTS (
|
||||
@@ -170,7 +173,11 @@ BEGIN
|
||||
|
||||
-- Hole die nächste Spalte
|
||||
FETCH NEXT FROM column_cursor INTO @TargetTable, @CurrentColumn;
|
||||
END
|
||||
END
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
PRINT 'Fehler während der Cursor-Iteration: ' + ERROR_MESSAGE();
|
||||
END CATCH
|
||||
|
||||
-- Schließe und deallokiere den Spalten-Cursor
|
||||
CLOSE column_cursor;
|
||||
|
||||
Reference in New Issue
Block a user