Skip to main content
Weil einfach - produktiver ist

Der Daten Spezialist

Konvertieren Sie die Daten mühelos zwischen verschiedenen Formaten ohne Programmierkenntnisse dank Visual Designer. Effizient und super einfach.
Flowheater Download

Arbeiten mit TempTabellen, Rename zum Schluss SQL

  • Michael Brockhoff
  • Autor
  • Offline
  • Benutzer
  • Benutzer
Mehr
7 Jahre 4 Monate her #2906 von Michael Brockhoff
Arbeiten mit TempTabellen, Rename zum Schluss SQL wurde erstellt von Michael Brockhoff
ok Eine Idee wäre das wenn man mit Temporären Tabellen arbeiten möchte.
Man zum Schluss vielleicht ein SQL Statement absetzen könnte das diesen Rename ausführen könnte.

Also in dem Write Adapter selbst einen Haken Setzen „Am Ende folgendes zusatz SQL Script ausführen“
Und dann kann man da selbst zum Beispiel das hier absetzen das
Die 'TMP_PARTNER' in 'DV_PARTNER' umbenennt und das Ganze in einer Transaktion.

-- Beginne eine neue Datenbanktransaktion, so dass während der Ausführung keine
-- Daten gelesen werden können und im Fehlerfall ein Rollback möglich ist.
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
BEGIN TRANSACTION ReleaseTable WITH MARK N'RELEASE_DV_PARTNER';
BEGIN TRY
-- Lösche nun die Vorgängertabelle mit älterem Datenbestand.
IF OBJECT_ID('dbo.DV_PARTNER','U') IS NOT NULL
DROP TABLE [dbo].[DV_PARTNER];
-- Ersetze die Vorgängertabelle durch die neu befüllte Zieltabelle.
EXECUTE sp_rename 'TMP_PARTNER', 'DV_PARTNER';
-- Benenne den Primärschlüssel um
ALTER TABLE [dbo].[DV_PARTNER] DROP CONSTRAINT [PK_TMP_PARTNER];
ALTER TABLE [dbo].[DV_PARTNER] ADD CONSTRAINT [PK_DV_PARTNER] PRIMARY KEY CLUSTERED ([ID] ASC) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [INDEX]
-- Lösche temporäre Tabellen und Sichten
IF OBJECT_ID('dbo.TMP_VERSICHERTEPERSON_FAMILIENVERSICHERTER','U') IS NOT NULL
DROP TABLE [dbo].[TMP_VERSICHERTEPERSON_FAMILIENVERSICHERTER];
IF OBJECT_ID('dbo.TMP_VERSICHERTEPERSON_MITGLIED','U') IS NOT NULL
DROP TABLE [dbo].[TMP_VERSICHERTEPERSON_MITGLIED];
IF OBJECT_ID('dbo.TMP_VERSICHERTEPERSON_STORNIERT','U') IS NOT NULL
DROP TABLE [dbo].[TMP_VERSICHERTEPERSON_STORNIERT];
IF OBJECT_ID('dbo.TMP_VERSICHERTEPERSON','V') IS NOT NULL
DROP VIEW [dbo].[TMP_VERSICHERTEPERSON];
-- Bestätige die Transaktion, falls bis hierher kein Fehler auftrat.
COMMIT TRANSACTION ReleaseTable;
SELECT 0;
END TRY
BEGIN CATCH
-- Stelle die Ursprungssitutation im Fehlerfall wieder her. Die Vorgänger-
-- tabelle mit dem älteren Datenbestand bleibt so erhalten.
ROLLBACK TRANSACTION ReleaseTable;
RAISERROR('Die Tabelle DV_PARTNER konnte nicht freigegeben werden.',16,1);
END CATCH

Bitte Anmelden um der Konversation beizutreten.

Mehr
7 Jahre 4 Monate her - 7 Jahre 4 Monate her #2910 von FlowHeater-Team
FlowHeater-Team antwortete auf Arbeiten mit TempTabellen, Rename zum Schluss SQL
Hallo Herr Brockhoff,

vielen Dank für die Anregung. Das können Sie bereits jetzt mit dem SQL Heater durchführen.

Sie können im SQL Heater einstellen wann der SQL Befehl (bzw. auch mehrere) abgesetzt werden sollen. Es stehen hier „Start“, „Ende“ und „Pro Zeile/Satz = Standard“ zur Verfügung.

Wenn Sie hier einmal einen SQL Heater mit „Start“ verwenden wo Sie Ihre Temporäre Tabelle anlegen (Create Table) und einen SQL Heater mit „Ende“ wo Sie dann die Tabelle umbenennen haben Sie das was Sie benötigen.

Wenn Sie im SqlServer Adapter im Reiter „Erweitert“ „Verwende Datenbank Transaktionen“ anwählen wird das Ganze auch noch über Transaktionen abgesichert.

SQL Statement bei Import Start/Ende ausführen

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:
Letzte Änderung: 7 Jahre 4 Monate her von FlowHeater-Team.

Bitte Anmelden um der Konversation beizutreten.

  • Michael Brockhoff
  • Autor
  • Offline
  • Benutzer
  • Benutzer
Mehr
7 Jahre 4 Monate her #2911 von Michael Brockhoff
Michael Brockhoff antwortete auf Arbeiten mit TempTabellen, Rename zum Schluss SQL
Hallo Herr Stark,

danke für den Hinweis!
Werden wir testen

Gruß

Michael Brockhoff

Bitte Anmelden um der Konversation beizutreten.

Ladezeit der Seite: 0.270 Sekunden

FlowHeater - Der Daten Spezialist

Effiziente Datenintegration und Transformation mit FlowHeater - Ihre Lösung für nahtlosen Datentransfer.

Rechtliches

Support & Kontakt

Kontaktinformation

Telefon:
0951 / 99339792

E-Mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.


Copyright © 2009-2024 by FlowHeater GmbH. Alle Rechte vorbehalten.