Почему приведенный ниже синтаксис не выдает ошибку:
CREATE TABLE a1 AS SELECT 1 a;
TRUNCATE TABLE a1(sth);
-- SQL compilation error: syntax error line 1 at position 17 unexpected '('.
DROP TABLE a1(sth);
-- A1 successfully dropped.
-- here I would expect an error
Оба TRUNCATE TABLE и DROP TABLE принимают параметр <name>
Указывает идентификатор таблицы, которую нужно удалить. Если идентификатор содержит пробелы, специальные символы или символы в смешанном регистре, вся строка должна быть заключена в двойные кавычки. Идентификаторы, заключенные в двойные кавычки, также чувствительны к регистру (например, «Мой объект»).
Существует ли специальное поведение для table_name(...)
?