DROP TASK

Supprime une tâche du schéma actuel/spécifié.

Voir aussi :

CREATE TASK , ALTER TASK , SHOW TASKS , DESCRIBE TASK

Syntaxe

DROP TASK [ IF EXISTS ] <name>
Copy

Paramètres

name

Indique l’identificateur de la tâche à détruire. Si l’identificateur contient des espaces, des caractères spéciaux ou des caractères majuscules et minuscules, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse (p. ex. "My Object").

Si l’identificateur de la tâche n’est pas complet (sous la forme db_name.schema_name.task_name ou schema_name.task_name), la commande recherche la tâche dans le schéma actuel de la session.

Notes sur l’utilisation

  • Lorsqu’une tâche est détruite, son exécution actuelle (c’est-à-dire une exécution avec un état EXECUTING dans la sortie TASK_HISTORY) est terminée. Pour interrompre l’exécution de la tâche spécifiée, exécutez la fonction SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS.

  • La tâche racine dans un DAG de tâches doit être suspendue avant que toute tâche dans le DAG soit détruite.

  • Une tâche autonome peut être détruite par le propriétaire de la tâche (c’est-à-dire le rôle qui a le privilège OWNERSHIP sur la tâche) ou un rôle supérieur sans suspendre la tâche au préalable.

  • Si une tâche prédécesseur dans un DAG est détruite, toutes les anciennes tâches enfants qui ont identifié cette tâche comme prédécesseur deviennent des tâches autonomes ou des tâches racine, selon que d’autres tâches identifient ces anciennes tâches enfants comme leur prédécesseur. Ces anciennes tâches enfants sont suspendues par défaut et doivent être reprises manuellement.

Exemples

Détruire une tâche :

SHOW TASKS LIKE 't2%';


DROP TASK t2;


SHOW TASKS LIKE 't2%';
Copy

Détruire à nouveau la tâche, mais ne pas engendrer d’erreur si la tâche n’existe pas :

DROP TASK IF EXISTS t2;
Copy