Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2009, 14:46   #1
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию MS SQL создать таблицу только если не существует.

Подскажите кто знает, как СКЛу указать что таблицу нужно создавать только тогда если она не существует

В голове крутится что-то типа
Код:
 Create IF NOT EXIST table qq
Но не работает.

Как правильно написать такую команду?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.09.2009, 15:48   #2
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Подскажите кто знает, как СКЛу указать что таблицу нужно создавать только тогда если она не существует

В голове крутится что-то типа
Код:
 Create IF NOT EXIST table qq
Но не работает.

Как правильно написать такую команду?
то есть такая конструкция не подходит?
Цитата:
if not exists(select ////) then create table ////
©Учиться, учиться и еще раз учиться!
quit вне форума Ответить с цитированием
Старый 23.09.2009, 15:52   #3
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

мои скудные знания не припоминают подобной возможности (во всяком случае в db2). я бы заюзал системную таблицу, где хранятся все пользовательские таблицы.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 23.09.2009, 15:55   #4
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
мои скудные знания не припоминают подобной возможности (во всяком случае в db2). я бы заюзал системную таблицу, где хранятся все пользовательские таблицы.
вроде бы, только так и можно
©Учиться, учиться и еще раз учиться!
quit вне форума Ответить с цитированием
Старый 23.09.2009, 16:08   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
select ////
Пардон, не понял...
Select полюбому должен принимать еще параметры.
Например такое :
Код:
if not exist(select * from ee) then create table ee
не катит.
Цитата:
Incorrect syntax near the keyword 'select'.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.09.2009, 16:35   #6
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Пардон, не понял...
Select полюбому должен принимать еще параметры.
Например такое :
Код:
if not exist(select * from ee) then create table ee
не катит.
блин я с этим информиксом совсем плохо думаю... нужно убрать then
по идее так должно работать
Код:
if not exist(select * from ee) create table ee
©Учиться, учиться и еще раз учиться!
quit вне форума Ответить с цитированием
Старый 23.09.2009, 16:41   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
quit
Не. Не катит. Я уже так пробовал...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.09.2009, 16:54   #8
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
По умолчанию

Цитата:
Stilet
Код:
if not exists(select * from ee) create table ee
©Учиться, учиться и еще раз учиться!
quit вне форума Ответить с цитированием
Старый 24.09.2009, 09:53   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Line 2: Incorrect syntax near 'ee'.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.09.2009, 11:30   #10
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Stilet
как я уже сказал, попробуй сделать это через системную таблицу.

Код:
IF NOT EXISTS (SELECT * FROM systbl WHERE table_name = 'eee') CREATE TABLE eee;
где systbl - системная таблица, в которой хранится информация о пользовательских. (разумеется, возможно потребуется ограничить выборку, например, именем твоей базы и тп). Не знаю, как в мелкомягком скуэле, но в db2 это нормально прокатывает
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите создать таблицу beas Microsoft Office Excel 1 25.07.2009 21:47
Проверить существует ли путь и создать если его нет hoba PHP 6 29.08.2008 14:40
sql-сервер не существует rubi БД в Delphi 8 15.07.2008 12:10
только просматривать таблицу Бд Rusl92 БД в Delphi 7 09.04.2008 17:39