Quel est le moyen le plus fiable de mettre à jour le script de table ?
Disons que j'ai un script qui enregistre un extrait d'un script dans une table en tant que script de table et lui donne un nom "Script". Disons que j'exécute à nouveau ce script et qu'il enregistre à nouveau un extrait mis à jour en tant que script de table - il ajoutera " 2 " à " Script " puisque ce nom existe déjà.
Si je veux ensuite exécuter le script par son nom, il exécutera l'ancien, avec le nom "Script", alors que je voulais vraiment exécuter le plus récent, "Script 2".
Et comme j'exécute le script principal plusieurs fois, il crée de nombreuses versions du "Script", alors que je veux vraiment continuer à le mettre à jour.
Jusqu'à présent, l'option la plus fiable consiste à essayer de supprimer le script portant ce nom avant de le mettre à jour :
try(dt << Delete Scripts( "Script" ));
dt << New Table Script( "Script", Show("Test"));
Existe-t-il également un moyen d'obtenir un pointeur vers un script de table et de l'utiliser?
Quelque chose comme:
script = dt << Get Table Script("Script");
script << Run Script();ou même obtenir un pointeur vers le script lors de sa création (j'ai vérifié, il semble que cela ne fonctionne pas, le message Nouveau script ne renvoie rien)
script = dt << New Script("Script", Show("Test"));
script << Run Script();En plus de @txnelson , vous voudrez peut-être renommer l'ancien "Script" en "Script_CurrentTime" au lieu de le supprimer, puis vous pourrez enregistrer le nouveau script dans "Script" sans conflits. Cela créera des fichiers (anciens scripts) que vous ne voudrez peut-être pas capturer, cependant, cela permettrait de suivre les modifications éventuelles si nécessaire.
Votre suggestion de supprimer le script avant de le recréer est la seule méthode que je connaisse pour remplacer le script ;
Pour déplacer le script dans une variable puis exécuter le script, il vous suffit de :
script = dt << Get Table Script("Script");
script;