ОК, поэтому Sybase (12.5.4) позволит мне сделать следующее, чтобы DROP таблицы, если она уже существует:
IF EXISTS (
SELECT 1
FROM sysobjects
WHERE name = 'a_table'
AND type = 'U'
)
DROP TABLE a_table
GO
Но если я попытаюсь сделать то же самое с созданием таблицы, я всегда предупреждаю, что таблица уже существует, потому что она продолжалась и пыталась создать мою таблицу и проигнорировала условную инструкцию. Просто попробуйте выполнить следующий оператор дважды, вы увидите, что я имею в виду:
IF NOT EXISTS (
SELECT 1
FROM sysobjects
WHERE name = 'a_table'
AND type = 'U'
)
CREATE TABLE a_table (
col1 int not null,
col2 int null
)
GO
Запуск выше приводит к следующей ошибке:
Ошибка SQL Server (localhost) Ошибка: 2714 в строке: 7 Сообщение: есть уже объект с именем 'a_table' в базы данных.
Что с этим связано?!