DROP TABLE (удаление таблицы)

Важно

Поддержка синтаксиса PostgreSQL в YDB находится в разработке. Использовать её в production окружениях не рекомендуется. Запросы в PostgreSQL могут исполняться до нескольких раз медленнее по сравнению с аналогичными запросами на YQL.

Основной сценарий, который можно тестировать — выполнение аналитических запросов к хранимым в YDB данным.

Синтаксис инструкции DROP TABLE:

DROP TABLE [IF EXISTS] <table name>;

Инструкция DROP TABLE <table name>; предназначена для удаления таблицы. Например: DROP TABLE people;. Если удаляемая таблица отсутствует – будет выведено сообщение об ошибки:

Error: Cannot find table '...' because it does not exist or you do not have access permissions. Please check correctness of table path and user permissions., code: 2003

В ряде сценариев такое поведение не требуется. Например, если мы хотим гарантированно создать новую таблицу с удалением предыдущий в рамках одного SQL-скрипта или последовательности SQL-команд. В таких случаях применяется инструкция DROP TABLE IF EXIST <table name>. В случае отсутствия таблицы инструкция вернет сообщение DROP TABLE, а не ошибку.

Примечание

В отличии от PostgreSQL, в YDB с используются оптимистические блокировки. Это значит, что транзакции проверяют условия выполнения необходимых блокировок в конце своей работы, а не в начале. Если за время выполнения транзакции блокировка была нарушена – такая транзакция завершится ошибкой Transaction locks invalidated. В этом случае можно попробовать выполнить аналогичную транзакцию снова.

Предыдущая
Следующая