Qual è il modo più affidabile per aggiornare lo script della tabella?
Diciamo che ho uno script che salva un frammento di uno script in una tabella come script di tabella e gli assegna un nome "Script". Diciamo che eseguo di nuovo lo script e salva di nuovo uno snippet aggiornato come script di tabella: aggiungerà "2" a "Script" poiché quel nome esiste già.
Se poi voglio eseguire lo script per nome, eseguirà quello vecchio, con il nome "Script", quando volevo davvero eseguire il più recente, "Script 2".
E poiché eseguo lo script principale molte volte, crea molte versioni dello "Script", quando voglio solo continuare ad aggiornarlo.
Finora l'opzione più affidabile è provare a eliminare lo script con quel nome prima di aggiornarlo:
try(dt << Delete Scripts( "Script" ));
dt << New Table Script( "Script", Show("Test"));
Inoltre, c'è un modo per ottenere un puntatore allo script della tabella e usarlo?
Qualcosa di simile a:
script = dt << Get Table Script("Script");
script << Run Script();o persino ottenere un puntatore allo script durante la creazione (ho controllato, sembra che non funzioni, il messaggio New Script non restituisce nulla)
script = dt << New Script("Script", Show("Test"));
script << Run Script();Inoltre @txnelson suggerimento di , potresti voler rinominare il vecchio "Script" in "Script_CurrentTime" invece di eliminarlo, quindi puoi salvare il nuovo script in "Script" senza conflitti. Questo creerà file (vecchi script) che potresti non voler acquisire, tuttavia, ciò consentirebbe di tenere traccia di eventuali modifiche, se necessario.
Il tuo suggerimento di eliminare lo script prima di ricrearlo è l'unico metodo di cui sono a conoscenza per sostituire lo script;
Per spostare lo script in una variabile e quindi eseguire lo script, tutto ciò che devi fare è:
script = dt << Get Table Script("Script");
script;