Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.10.10;
Скачать: [xml.tar.bz2];

Вниз

Как средствами SQL проверить наличие таблицы в БД?   Найти похожие ветки 

 
3asys   (2002-09-17 13:21) [0]

Вопрос не совсем "Дельфийский": Как средствами SQL проверить существует ли в базе данных (MS SQL Server) таблица и если существует - удалить ее?
Запрос вида:
if exists (select * from tmp) drop table tmp
работает если таблица tmp не пуста. Но проверка должна работать и для пустой таблицы.
Данный запрос выполняется в asp-скрипте.
Что здесь можно сделать?

С Уважением, 3asys


 
Mike Kouzmine   (2002-09-17 13:24) [1]

Ну самый тупой select * from t в try except


 
Johnmen   (2002-09-17 13:27) [2]

Делать запрос к системной таблице, где хранятся имена таблиц БД.


 
3asys   (2002-09-17 13:44) [3]

Спасибо большое!

С Уважением, 3asys


 
3JIA9I CyKA   (2002-09-17 13:47) [4]

1) if Object_ID("tempdb..#tmp") > 0 print("BlaBlaBla")
2) http://www.sql.ru/forum/actualtopics.aspx?bid=1


 
DmitryK   (2002-09-19 14:16) [5]

Если ты попросишь EnterpriseManager сгенерировать скрипт для этой таблицы вместе с кодом для удаления, то вот что примерно можешь получить

/****** Object: Table dbo.XXXXXX Script Date: 19.09.02 13:11:52 ******/
if exists (select * from sysobjects where id = object_id("dbo.XXXXXX") and sysstat & 0xf = 3)
drop table dbo.XXXXXX



(dbo.XXXXXX - собственно таблица, которую надо удалить)


 
BlackTiger   (2002-09-20 11:42) [6]

Маленькое дополнение к DmitryK (просто от себя):
напиши себе функцию или процедуру:
CREATE PROCEDURE sp_delete_table(@table-name varchar(100))
AS
BEGIN
IF EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT-ID("dbo."+@table-name) AND sysstat & 0xf = 3)
DROP TABLE "dbo." + @table_name
END



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.10.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.038 c
4-32098
vaa
2002-08-25 09:36
2002.10.10
winapi


1-31691
koks
2002-09-30 14:40
2002.10.10
Разделители в ExpressBars


3-31659
Desdechado
2002-09-20 10:08
2002.10.10
insert с последующим select - неадекватное поведение в ХП


1-31756
slim2
2002-10-01 15:38
2002.10.10
Help, help, help... 8-(


14-31947
buhat
2002-09-14 17:18
2002.10.10
Где достать?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский