Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Добавить столбец

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Базы данных
Предыдущая тема :: Следующая тема  
Автор Сообщение
den78
Гость





СообщениеДобавлено: Пт Янв 18 2002 22:10    Заголовок сообщения: Добавить столбец Ответить с цитатой

Как в MS SQL добавить столбец в таблицу не в конец, а куданить в середину после конкретного столбца.
p.s. сорри за глупый может быть вопрос\ тока начал обучаться
Вернуться к началу
Евгений Григорьев
Гость





СообщениеДобавлено: Пт Янв 18 2002 22:50    Заголовок сообщения: Все равно куда добавлять...+ Ответить с цитатой

Столбец в таблицу моджно добавлять куда угодно! Сделай потом из этой таблицы SELECT в нужном тебе порядке. Или поставь поля в форме, где ты эти данные показывашь, в нужном тебе порядке (ведь в конце-концов юзеры не напрямую с SQL сервером работают).

Еще я посоветовал бы книжку по Реляционным СУБД почитать - не, я серьезно. Просто реляционные СУБД это инструмент, принципы которого абсолютно отличаются от принципов привычных прикладных программ, и попытки привязать логику Excel'я к реляционной БД не приведут ни к чему хорошему.
Вернуться к началу
den78
Гость





СообщениеДобавлено: Пт Янв 18 2002 23:27    Заголовок сообщения: Re: Все равно куда добавлять...+ Ответить с цитатой

Это я знаю. У меня другая ситуация. У меня есть куча уже готовых asp-файлов в которых прописны строки типа Insert into Mytable values (.......
а я не подумав удалил один столбец из середины таблицы\ так вот я и подумал что чем переписывать кучу файлов лучше вставить нужный мне столбец обратно\ тока как это сделать я не знаю\ прочитал в двух книжках - а там все просто как сговорились: новый столбец добавляется в конец таблицы\
мож есть чтонить типа
ALTER TABLE MyTable ADD COLUMN columnname AFTER previouscolumn
Вернуться к началу
Pin



Зарегистрирован: 13.01.2002
Сообщения: 32
Откуда: Magnitogorsk

СообщениеДобавлено: Сб Янв 19 2002 10:12    Заголовок сообщения: Re: Все равно куда добавлять...+ Ответить с цитатой

Можно попробовать сначала удалить все столбцы, которые должны идти за этим столбцом, потом добавить нужный столбец и все за ним идущие по-порядку.

Вариант второй:
переписать запрос insert как
insert into Table1(Col1, Col2, Col4, Col3) values (...), где Col4 по порядку идёт после Col3
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
den78
Гость





СообщениеДобавлено: Сб Янв 19 2002 11:41    Заголовок сообщения: Re: Все равно куда добавлять...+ Ответить с цитатой

>>Можно попробовать сначала удалить все столбцы, которые должны идти за этим столбцом, потом добавить нужный столбец и все за ним идущие по-порядку.
>>
>>Вариант второй:
>>переписать запрос insert как
>>insert into Table1(Col1, Col2, Col4, Col3) values (...), где Col4 по порядку идёт после Col3

Первый вариант не пройдет - у меня в таблице гдето 30 столбцов, а вставить надо третьим или четвертым.

Второй вариант мне кажется тоже не покатит\ по-моему он вставляет не столбец а значения полей в некотором порядке
Вернуться к началу
Евгений Григорьев
Гость





СообщениеДобавлено: Сб Янв 19 2002 12:44    Заголовок сообщения: Пройдет...+ Ответить с цитатой

..., в части insert into Table(), в скобках ты ЯВНО указываешь порядок следования столбцов, так, что бы он совпадал с порядком последующих values.

Еще вариант...Ты делаешь простой вид

CREATE VIEW REORDERTABLE
SELECT Col1, Col2, Col4, Col3 From TABLE

где столбцы идут в нужном тебе порядке
а потом используещь старый INSERT, только вместо имени таблицы вставляешь имя вида

insert into REORDERTABLE values (...)

Но я бы использовал вариант с явным указанием порядка столбцов, т.к. он страхует от последующих изменений.
Вернуться к началу
Pin



Зарегистрирован: 13.01.2002
Сообщения: 32
Откуда: Magnitogorsk

СообщениеДобавлено: Сб Янв 19 2002 13:58    Заголовок сообщения: Re: Все равно куда добавлять...+ Ответить с цитатой

Насчет первого варианта: есть ещё подвариант - создать новую таблицу, а затем перекачать в неё данные из старой запросов вида insert into NewTable (select ... from OldTable) а затем переименовать новую таблицу в старую.
В зависимости от используемой тобой базы скрипты для первого варианта (и для его подварианта) можно сгенерить почти автоматически. Писать придётся немного.

Насчет второго варианта: в insert`е здается только порядок значений, поле должно быть уже добавлено в таблицу. Если запросов немного или они используют немного полей, то это тоже вполне приемлемый вариант.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Базы данных Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...