Текущий архив: 2009.11.01;
Скачать: CL | DM;
Вниз
Создание индекса (MSSQL) Найти похожие ветки
← →
mfender (2009-09-08 11:31) [0]Здравствуйте, товарищи!
У меня вопрос: проверяю наличие таблицы в БД, если нет - создаю.
IF NOT EXISTS (SELECT * FROM sysobjects WHERE name="NewsFeed_2009")
CREATE TABLE NewsFeed_2009(
OID bigint IDENTITY(1,1) NOT NULL,
pubDate datetime NULL,
Title varchar(255) COLLATE Cyrillic_General_CI_AS NULL,
Description text COLLATE Cyrillic_General_CI_AS NULL,
Category int NULL,
Owner int NULL)
GO
CREATE NONCLUSTERED INDEX pubDate ON NewsFeed_2009 (pubDate ASC) WITH (PAD_INDEX = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX Owner ON NewsFeed_2009 (Owner ASC) WITH (PAD_INDEX = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX Category ON NewsFeed_2009 (Category ASC) WITH (PAD_INDEX = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY]
GO
Так это всё выглядит. Однако, если таблица уже существует, происходит ошибка на стадии создания индексов (они уже существуют). Как проверить их наличие?
Спасибо.
← →
Медвежонок Пятачок © (2009-09-08 11:53) [1]точно так же как и наличие таблицы.
← →
mfender (2009-09-08 11:59) [2]Ага, разобрался. После условия все действия заключил в BEGIN...END. и всё нормально стало.
← →
sniknik © (2009-09-08 12:06) [3]
IF NOT EXISTS (SELECT * FROM sysindexes WHERE Id=OBJECT_ID("NewsFeed_2009") AND Name="pubDate")
CREATE NONCLUSTERED INDEX pubDate ...
← →
Ega23 © (2009-09-08 12:48) [4]1. Зачем NONCLUSTERED?
2. Почему нет первичного ключа?
Страницы: 1 вся ветка
Текущий архив: 2009.11.01;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.016 c