FlowHeater Demo Video
 
FlowHeater - The Data Import / Export Specialist
 
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1

THEMA: Arbeiten mit TempTabellen, Rename zum Schluss SQL

Arbeiten mit TempTabellen, Rename zum Schluss SQL 2 Jahre 10 Monate her #2906

  • Michael Brockhoff
  • Michael Brockhoffs Avatar Autor
  • Offline
  • Beiträge: 15
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 oder Registrieren um der Konversation beizutreten.

Arbeiten mit TempTabellen, Rename zum Schluss SQL 2 Jahre 10 Monate her #2910

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1433
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:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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.
Letzte Änderung: von FlowHeater-Team.

Arbeiten mit TempTabellen, Rename zum Schluss SQL 2 Jahre 10 Monate her #2911

  • Michael Brockhoff
  • Michael Brockhoffs Avatar Autor
  • Offline
  • Beiträge: 15
Hallo Herr Stark,

danke für den Hinweis!
Werden wir testen

Gruß

Michael Brockhoff

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Seite:
  • 1

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

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

Follow us on

twitter  facebook

YouTube

 de en