Anlage des Repos
This commit is contained in:
@@ -0,0 +1,177 @@
|
||||
-- Remove-WinLine_Temp_Tables
|
||||
-- =================================================================
|
||||
-- SQL Skript um verwaiste Temp Tabellen zu entfernen
|
||||
--
|
||||
-- =================================================================
|
||||
-- Copyright (c) 2023 by Digital Data GmbH
|
||||
--
|
||||
-- Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
|
||||
-- Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
|
||||
-- =================================================================
|
||||
-- Creation Date / Author: 09.03.2023 / MK
|
||||
-- Version Date / Editor: 13.03.2023 / MK
|
||||
-- Version Number: 2.0.0.0
|
||||
-- =================================================================
|
||||
-- History:
|
||||
|
||||
DECLARE @3_DIGIT_TABLE TABLE (id INT, name varchar(50))
|
||||
DECLARE @5_DIGIT_TABLE TABLE (id INT, name varchar(50))
|
||||
DECLARE @6_DIGIT_TABLE TABLE (id INT, name varchar(50))
|
||||
DECLARE @ID INT,
|
||||
@Name VARCHAR(50),
|
||||
@Counter BIGINT = 0,
|
||||
@TableSubString1 NVARCHAR(100),
|
||||
@TableSubString2 NVARCHAR(100),
|
||||
@DynamicSQL NVARCHAR(1000);
|
||||
|
||||
INSERT INTO @3_DIGIT_TABLE values(1,'Ansprechpartner'),(2,'BELEGETEMP'),(3,'BELEGKOPFTEMP'),(4,'BELEGZEILETEMP'),(5,'BSTTMP'),(6,'BSTTMPPARK'),(7,'BUCHTMP'),(8,'BUDGETSELTMP'),(9,'FB3NK'),(10,'FB3OPNR')
|
||||
INSERT INTO @3_DIGIT_TABLE values(11,'G01W131'),(12,'G02W245COPY'),(13,'G02W245MCOPY'),(14,'G02W362K'),(15,'G02W362M'),(16,'G99W432X'),(17,'G99W458'),(18,'G99W458M'),(19,'G99W615DYN'),(20,'LAGERKOMMTMP')
|
||||
INSERT INTO @3_DIGIT_TABLE values(21,'MESO530FAKTTMP'),(22,'PREISTMP'),(23,'T025TMP'),(24,'T026TMP'),(25,'TMP432_'),(26,'TMPANSPRECHPART_'),(27,'TMPGRID432_'),(28,'TMPGRID446_'),(29,'TMPGRID458_')
|
||||
INSERT INTO @3_DIGIT_TABLE values(31,'VERTRETERBUCHTMP'),(32,'BUDGETTMP'),(33,'LAGERBUCHTMP'),(34,'G01W171'),(35,'G01W171K'),(36,'G01W172'),(37,'G02WG433FAKT'),(38,'TMP_AKTIONEN_WF_'),(39,'G02WG433FAKT')
|
||||
INSERT INTO @3_DIGIT_TABLE values(41,'G02WG433FAKT'),(42,'G02W245M'),(43,'G11W4412A'),(44,'G99W670T'),(45,'G11W44A'),(46,'AUGTMP')
|
||||
|
||||
INSERT INTO @5_DIGIT_TABLE values(1,'LAGERBUCHTMP'),(2,'G99W774KOPF'),(3,'G99W774MITTE')
|
||||
|
||||
INSERT INTO @6_DIGIT_TABLE values(1,'G99W774KOPF'),(2,'G99W774MITTE'),(3,'G01W'),(4,'G99W'),(5,'G02W')
|
||||
|
||||
PRINT '------------------------------------------------------------'
|
||||
PRINT 'START erste Schleife'
|
||||
PRINT '------------------------------------------------------------'
|
||||
|
||||
DECLARE CURSOR_3_DIGIT_TABLE CURSOR
|
||||
FOR
|
||||
SELECT [ID], [NAME]
|
||||
FROM @3_DIGIT_TABLE
|
||||
|
||||
OPEN CURSOR_3_DIGIT_TABLE
|
||||
FETCH NEXT FROM CURSOR_3_DIGIT_TABLE INTO @ID, @Name
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
|
||||
PRINT 'Table: ' + @Name
|
||||
WHILE @COUNTER < 999
|
||||
BEGIN
|
||||
|
||||
SET @counter = @counter+1
|
||||
SET @TableSubString1 = @Name
|
||||
SET @TableSubString2 = CASE LEN(@counter)
|
||||
WHEN 1 THEN '00' + convert(VARCHAR(3),@counter)
|
||||
WHEN 2 THEN '0' + convert(VARCHAR(3),@counter)
|
||||
WHEN 3 THEN '' + convert(VARCHAR(3),@counter)
|
||||
END;
|
||||
|
||||
PRINT 'Loop: ' + @TableSubString1 + @TableSubString2
|
||||
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[' + @TableSubString1 + @TableSubString2 +']') AND type in (N'U'))
|
||||
BEGIN
|
||||
PRINT '--> Removing Table: ' + @TableSubString1 + @TableSubString2
|
||||
SET @DynamicSQL = 'DROP TABLE [dbo].[' + @TableSubString1 + @TableSubString2 +']'
|
||||
EXEC (@DynamicSQL)
|
||||
END
|
||||
END
|
||||
SET @Counter = 0
|
||||
|
||||
FETCH NEXT FROM CURSOR_3_DIGIT_TABLE INTO @ID, @Name
|
||||
END
|
||||
CLOSE CURSOR_3_DIGIT_TABLE
|
||||
DEALLOCATE CURSOR_3_DIGIT_TABLE
|
||||
|
||||
PRINT '------------------------------------------------------------'
|
||||
PRINT 'ENDE erste Schleife'
|
||||
PRINT '------------------------------------------------------------'
|
||||
|
||||
PRINT '------------------------------------------------------------'
|
||||
PRINT 'START zweite Schleife'
|
||||
PRINT '------------------------------------------------------------'
|
||||
|
||||
DECLARE CURSOR_5_DIGIT_TABLE CURSOR
|
||||
FOR
|
||||
SELECT [ID], [NAME]
|
||||
FROM @5_DIGIT_TABLE
|
||||
|
||||
OPEN CURSOR_5_DIGIT_TABLE
|
||||
FETCH NEXT FROM CURSOR_5_DIGIT_TABLE INTO @ID, @Name
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
|
||||
PRINT 'Table: ' + @Name
|
||||
WHILE @COUNTER < 99999
|
||||
BEGIN
|
||||
|
||||
SET @counter = @counter+1
|
||||
SET @TableSubString1 = @Name
|
||||
SET @TableSubString2 = CASE LEN(@counter)
|
||||
WHEN 1 THEN '0000' + convert(VARCHAR(5),@counter)
|
||||
WHEN 2 THEN '000' + convert(VARCHAR(5),@counter)
|
||||
WHEN 3 THEN '00' + convert(VARCHAR(5),@counter)
|
||||
WHEN 4 THEN '0' + convert(VARCHAR(5),@counter)
|
||||
WHEN 5 THEN '' + convert(VARCHAR(5),@counter)
|
||||
END;
|
||||
|
||||
PRINT 'Loop: ' + @TableSubString1 + @TableSubString2
|
||||
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[' + @TableSubString1 + @TableSubString2 +']') AND type in (N'U'))
|
||||
BEGIN
|
||||
PRINT '--> Removing Table: ' + @TableSubString1 + @TableSubString2
|
||||
SET @DynamicSQL = 'DROP TABLE [dbo].[' + @TableSubString1 + @TableSubString2 +']'
|
||||
EXEC (@DynamicSQL)
|
||||
END
|
||||
END
|
||||
SET @Counter = 0
|
||||
|
||||
FETCH NEXT FROM CURSOR_5_DIGIT_TABLE INTO @ID, @Name
|
||||
END
|
||||
CLOSE CURSOR_5_DIGIT_TABLE
|
||||
DEALLOCATE CURSOR_5_DIGIT_TABLE
|
||||
|
||||
PRINT ''
|
||||
PRINT '------------------------------------------------------------'
|
||||
PRINT 'ENDE zweite Schleife'
|
||||
PRINT '------------------------------------------------------------'
|
||||
|
||||
PRINT '------------------------------------------------------------'
|
||||
PRINT 'START dritte Schleife'
|
||||
PRINT '------------------------------------------------------------'
|
||||
|
||||
DECLARE CURSOR_6_DIGIT_TABLE CURSOR
|
||||
FOR
|
||||
SELECT [ID], [NAME]
|
||||
FROM @6_DIGIT_TABLE
|
||||
|
||||
OPEN CURSOR_6_DIGIT_TABLE
|
||||
FETCH NEXT FROM CURSOR_6_DIGIT_TABLE INTO @ID, @Name
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
|
||||
PRINT 'Table: ' + @Name
|
||||
WHILE @COUNTER < 999999
|
||||
BEGIN
|
||||
|
||||
SET @counter = @counter+1
|
||||
SET @TableSubString1 = @Name
|
||||
SET @TableSubString2 = CASE LEN(@counter)
|
||||
WHEN 1 THEN '00000'+ convert(VARCHAR(6),@counter)
|
||||
WHEN 2 THEN '0000' + convert(VARCHAR(6),@counter)
|
||||
WHEN 3 THEN '000' + convert(VARCHAR(6),@counter)
|
||||
WHEN 4 THEN '00' + convert(VARCHAR(6),@counter)
|
||||
WHEN 5 THEN '0' + convert(VARCHAR(6),@counter)
|
||||
WHEN 6 THEN '' + convert(VARCHAR(6),@counter)
|
||||
END;
|
||||
|
||||
PRINT 'Loop: ' + @TableSubString1 + @TableSubString2
|
||||
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[' + @TableSubString1 + @TableSubString2 +']') AND type in (N'U'))
|
||||
BEGIN
|
||||
PRINT '--> Removing Table: ' + @TableSubString1 + @TableSubString2
|
||||
SET @DynamicSQL = 'DROP TABLE [dbo].[' + @TableSubString1 + @TableSubString2 +']'
|
||||
EXEC (@DynamicSQL)
|
||||
END
|
||||
END
|
||||
SET @Counter = 0
|
||||
|
||||
FETCH NEXT FROM CURSOR_6_DIGIT_TABLE INTO @ID, @Name
|
||||
END
|
||||
CLOSE CURSOR_6_DIGIT_TABLE
|
||||
DEALLOCATE CURSOR_6_DIGIT_TABLE
|
||||
|
||||
PRINT ''
|
||||
PRINT '------------------------------------------------------------'
|
||||
PRINT 'ENDE dritte Schleife'
|
||||
PRINT '------------------------------------------------------------'
|
||||
Reference in New Issue
Block a user