DROP TASK
DROP TASK
현재/지정된 스키마에서 태스크(task)를 제거하는 명령이에요. 태스크는 Snowflake가 예약 실행하는 SQL 작업 단위예요.
출처: 문서
본문
구문 (Syntax)
DROP TASK [ IF EXISTS ] <name>
파라미터
- name — 삭제할 태스크의 식별자를 지정해요. 식별자에 공백, 특수 문자, 또는 대소문자 혼합 문자가 포함되면 전체 문자열을 큰따옴표로 묶어야 해요. 큰따옴표로 묶은 식별자는 대소문자를 구분해요(예: "My Object"). 태스크 식별자가 정규화되지 않았다면(즉
db_name.schema_name.task_name또는schema_name.task_name형식이 아니라면), 명령은 세션의 현재 스키마에서 태스크를 찾아요.
사용 메모 (Usage notes)
- 태스크가 삭제되면, 태스크의 현재 실행(
TASK_HISTORY출력에서 EXECUTING 상태인 실행)이 완료돼요. 지정한 태스크의 실행을 중단하려면SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS함수를 실행해요. - 태스크 그래프의 어떤 태스크를 삭제하려면 먼저 태스크 그래프의 루트 태스크를 일시 중지(suspend)해야 해요.
- 독립형(standalone) 태스크는 먼저 일시 중지하지 않고도 태스크 소유자(즉 태스크에 대해 OWNERSHIP 권한이 있는 역할) 또는 상위 역할이 삭제할 수 있어요.
- 태스크 그래프에서 선행(predecessor) 태스크가 삭제되면, 이 태스크를 선행자로 식별한 모든 이전 하위 태스크는, 다른 태스크들이 이 이전 하위 태스크들을 자신의 선행자로 식별하는지 여부에 따라 독립형 태스크 또는 루트 태스크가 돼요. 이 이전 하위 태스크들은 기본적으로 일시 중지되며 수동으로 다시 시작해야 해요.
IF EXISTS절을 지정했을 때 대상 객체가 존재하지 않으면, 명령은 오류를 반환하지 않고 성공적으로 완료돼요.
예시 (Examples)
태스크를 삭제해요:
SHOW TASKS LIKE 't2%';
DROP TASK t2;
SHOW TASKS LIKE 't2%';
태스크를 다시 삭제하되, 태스크가 존재하지 않아도 오류를 발생시키지 않아요:
DROP TASK IF EXISTS t2;