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

Вниз

запрос к базе   Найти похожие ветки 

 
Jann ©   (2005-08-08 14:27) [0]

помогите уважаемые мастера!!!!
выполняю такой запрос:
insert into vr_ras select *
                  from ras
все нормально
а мне хотелось бы чтобы в итоговой таблице данные были отсортированы, поэтому делаю такой запрос:
insert into vr_ras select *
                  from ras
                  order by data
в ходе выполнения выдается ошибка:
Unexpected toked:order:found extra tokens after expected end of statement
Что мне делать???


 
Anatoly Podgoretsky ©   (2005-08-08 14:38) [1]

order by не применимо к insert into и не имеет никакого смысла.


 
Jann ©   (2005-08-08 14:42) [2]

пожалуста подскажите как тогда быть??
хотя в Query Analyzer
insert into vr_ras select *
                 from ras
                 order by data
такая конструкция работает нормально


 
alles ©   (2005-08-08 15:13) [3]

для инсерта ордер не имеет смысла. Инсерт используется в основном для сортировке данных по данному полю / ях.


 
Jann ©   (2005-08-08 15:28) [4]

как-то решить это можно


 
Leonid Troyanovsky ©   (2005-08-08 15:33) [5]


> Jann ©   (08.08.05 15:28) [4]
> как-то решить это можно


Не размещать extra tokens after expected end of statement.

--
Regards, LVT.

PS По-русски было б доходчивей, но, увы, не положено.


 
Ega23 ©   (2005-08-08 15:34) [6]

Для операции insert Order By не имеет никакого смысла. Хотя бы потому, что операция Insert не возвращает набор данных. Как, впрочем, и операции Update и Delete.
Конструкция Order By имеет смесл ТОЛЬКО с операцией Select.


 
Alexander Panov ©   (2005-08-08 15:40) [7]

Если тебе необходимо вставлять записи именно в том порядке, в каком хочешь, придется вставлять вкаждую запись отдельно.
Т.е. выполняешь запрос Select с ORDER BY, затем проходишь в цикле сначала до конца по полученному набору данных, и выполняешь INSET для каждой записи.

Но задумайся - стоит ли овчинка выделки. Эта операция будет на порядок медленнее групповой вставки данных.


 
Anatoly Podgoretsky ©   (2005-08-08 15:52) [8]

Jann ©   (08.08.05 15:28) [4]
Чего решить то? Нечего решать, порядок хранения определяет сервер, а не пользователь и этот порядок может многократно меняться.


 
Леван   (2005-08-09 10:02) [9]

Мастера:
Извините, но только что проверил
insert into temp (COD_A,NAM_A) select COD_A,NAM_A FROM NOTEMP order by NAM_A" работает в дельфи .
мне кажется, что в операторе
"insert into name (fieldlist) select filedlist from oldname order by somefield " опция order by принадлежит не insert-у, а select-у


 
Леван   (2005-08-09 10:04) [10]

вдогонку: какие структуры у Ras и vr_ras?


 
paul_k ©   (2005-08-09 10:09) [11]

Леван   (09.08.05 10:02) [9]
А смысл??, если потом при выборке поставишь совершенно другой ордер бай?
А сервер?? зачем его лишней сортировкой нагрудать?
И на каком сервере тестировал?
А что по этому вопросу пишет стандарт?


 
Леван   (2005-08-09 10:16) [12]

то paul_k :
согласен, что лучше запихнуть данные в temp в произвольном порядке , а извлеч оттуда потом в нужном порядке , но я писал толко то, что конструкция работает и у задававшего вопрос колеги проблема в другом месте (по видимому)


 
paul_k ©   (2005-08-09 10:19) [13]

Jann ©   (08.08.05 14:27)
insert into vr_ras select *
                 from ras

не есть верно
более "правильно" писать

insert into vr_ras (field1, field2,...,fieldN)
 select ras.field1, ras.field2,...,ras.fieldN
   from ras
То есть явно указывать в какое поле какое значение ты запихиваешь.

Как выше написано никакого смысла хранить сортированные записи в таблицах нет. Просто при получении данных не забывать указывать по какому полю сортировка в данный момент времени в указанном наборе данных.

Закралось подозрение, что VR_RAS - отсортированная копия таблицы RAS. Это есть совершенно безсмысленное расходование ресурсов.
Просто в тот момент, когда тебе надо отобразить  отсортированный набор данный меняй параметр в order by запроса, возвращающего набор данных


 
paul_k ©   (2005-08-09 10:21) [14]

Леван   (09.08.05 10:16) [12]
повтрюсь: а смысл в такой работе?


 
Леван   (2005-08-09 10:25) [15]

to paul_k :
повторюсь : согласен :)



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

Форум: "Начинающим";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.01 c
1-1124796950
Jolik
2005-08-23 15:35
2005.09.11
exception в finally


1-1124274398
Helen
2005-08-17 14:26
2005.09.11
Работа с TThread


3-1122510926
Polyak
2005-07-28 04:35
2005.09.11
Запросы - запросы ???


4-1122033529
KSergey
2005-07-22 15:58
2005.09.11
Как узнать владельца процесса?


14-1123345904
Eraser
2005-08-06 20:31
2005.09.11
VMWare и Multicast





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский