Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 100.000 Datensätze verarbeitet werden!
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Willkommen im Wünsche und Anregungs Forum

Vermissen Sie Funktionen? Hier können Sie Wünsche und Anregungen äußern aber auch Lob und Kritik loswerden.
  • Seite:
  • 1

THEMA: Arbeiten mit TempTabellen, Rename zum Schluss SQL

Arbeiten mit TempTabellen, Rename zum Schluss SQL 1 Jahr 2 Wochen her #2906

  • Michael Brockhoff
  • Michael Brockhoffs Avatar Autor
  • Offline
  • New Member
  • New Member
  • 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 1 Jahr 2 Wochen her #2910

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

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 1 Jahr 2 Wochen her #2911

  • Michael Brockhoff
  • Michael Brockhoffs Avatar Autor
  • Offline
  • New Member
  • New Member
  • 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
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.269 Sekunden