table addTable

Konfliktmanagement beim Hinzufügen einer bereits existierenden Tabelle ohne Ersetzungs-Flag

Scénario de test & Cas d'usage

Geschäftskontext

Ein automatisierter Job soll täglich eine Snapshot-Tabelle laden. Um versehentliches Überschreiben von Daten zu verhindern, falls der Job fälschlicherweise zweimal ausgeführt wird, muss der Prozess fehlschlagen, wenn die Zieltabelle bereits existiert. Dieses Szenario testet das Standardverhalten (`replace=false`) als Sicherheitsmechanismus.
Über das Set : table

Laden, Speichern und Verwalten von Tabellen im Arbeitsspeicher.

Entdecken Sie alle Aktionen von table
Datenaufbereitung

Erstellt eine kleine Beispieltabelle, die einen täglichen Datenschnappschuss darstellt.

Kopiert!
1 
2DATA WORK.TAEGLICHER_SNAPSHOT;
3x = 1;
4y = 2;
5RUN;
6 

Étapes de réalisation

1
Erster Versuch: Laden der Tabelle 'SNAPSHOT_KONFLIKT'. Dies sollte erfolgreich sein, da die Tabelle noch nicht existiert.
Kopiert!
1PROC CASUTIL sessref=mySession;
2 load DATA=WORK.TAEGLICHER_SNAPSHOT
3 casout=(name='SNAPSHOT_KONFLIKT', caslib='CASUSER') quiet;
4RUN;
2
Zweiter Versuch: Erneutes Ausführen des exakt gleichen Ladebefehls. Da 'replace=true' nicht angegeben ist, wird ein Fehler erwartet.
Kopiert!
1PROC CASUTIL sessref=mySession;
2 load DATA=WORK.TAEGLICHER_SNAPSHOT
3 casout=(name='SNAPSHOT_KONFLIKT', caslib='CASUSER') quiet;
4RUN;
3
Dritter Versuch: Ausführen des Ladebefehls mit 'replace=true', um den Fehler zu beheben.
Kopiert!
1PROC CASUTIL sessref=mySession;
2 load DATA=WORK.TAEGLICHER_SNAPSHOT
3 casout=(name='SNAPSHOT_KONFLIKT', caslib='CASUSER', replace=true) quiet;
4RUN;

Erwartetes Ergebnis


Der erste Ladevorgang ist erfolgreich. Der zweite Ladevorgang schlägt fehl und im SAS-Log wird ein Fehler protokolliert, der besagt, dass die Tabelle 'SNAPSHOT_KONFLIKT' bereits existiert. Dies bestätigt das erwartete Sicherheitsverhalten. Der dritte Ladevorgang ist wieder erfolgreich, da die `replace=true`-Option das Überschreiben der Tabelle explizit erlaubt.