Was ist die zuverlässigste Methode zum Aktualisieren von Tabellenskripten?
Nehmen wir an, ich habe ein Skript, das einen Ausschnitt eines Skripts als Tabellenskript in einer Tabelle speichert und ihm den Namen „Skript“ gibt. Nehmen wir an, ich führe dieses Skript erneut aus und es speichert erneut ein aktualisiertes Snippet als Tabellenskript – es fügt „2“ zu „Skript“ hinzu, da dieser Name bereits existiert.
Wenn ich das Skript dann nach Namen ausführen möchte, wird das alte mit dem Namen „Skript“ ausgeführt, während ich eigentlich das neueste ausführen wollte, „Skript 2“.
Und da ich das Hauptskript viele Male ausführe, werden viele Versionen des „Skripts“ erstellt, wenn ich es einfach ständig aktualisieren möchte.
Die bisher zuverlässigste Option besteht darin, zunächst zu versuchen, das Skript mit diesem Namen zu löschen, bevor Sie es aktualisieren:
try(dt << Delete Scripts( "Script" ));
dt << New Table Script( "Script", Show("Test"));
Gibt es außerdem eine Möglichkeit, einen Zeiger auf ein Tabellenskript abzurufen und es zu verwenden?
Etwas wie:
script = dt << Get Table Script("Script");
script << Run Script();oder beim Erstellen sogar einen Zeiger auf das Skript erhalten (ich habe es überprüft, es sieht so aus, als würde es nicht funktionieren, die Meldung „Neues Skript“ gibt nichts zurück)
script = dt << New Script("Script", Show("Test"));
script << Run Script();Zusätzlich zu @txnelson Vorschlag von: Vielleicht möchten Sie das alte „Skript“ in „Script_CurrentTime“ umbenennen, anstatt es zu löschen. Dann können Sie das neue Skript ohne Konflikte unter „Skript“ speichern. Dadurch werden (alte Skript-)Dateien erstellt, die Sie möglicherweise nicht erfassen möchten. Dadurch können Sie jedoch bei Bedarf mögliche Änderungen nachverfolgen.
Ihr Vorschlag, das Skript vor der Neuerstellung zu löschen, ist die einzige mir bekannte Methode, das Skript zu ersetzen.
Um das Skript in eine Variable zu verschieben und es dann auszuführen, müssen Sie lediglich Folgendes tun:
script = dt << Get Table Script("Script");
script;