Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> view & order by, как подругому? 
:(
    Опции темы
np9mi7
  Дата 19.4.2005, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

Репутация: нет
Всего: 10



Добрый день.

Есть таблица:

Код

create table tSome 
(
   ID_SOME              bigint               identity,
   theTime           datetime             not null
)
go


задача написать view которая поднимает все записи этой таблицы только упорядоченные по дате. Ну я наивный сделал так:

Код

create view vSome as
select
    *
from
    tSome
order by theDateTime
go



а он мне:

Цитата
Server: Msg 1033, Level 15, State 1, Procedure vEvent, Line 10
The ORDER BY clause is invalid in views, inline functions, derived tables, and subqueries, unless TOP is also specified.


Говорит нельзя использовать order by в представлениях smile

Как заменить?

Заранее благодарен за ответы.


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
Akina
Дата 19.4.2005, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Представление делает ВЫБОРКУ данных. А сортируй в запросе на их ПОЛУЧЕНИЕ с сервера БД. Т.е. вьюв в данном случае нах...рен не нужен.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
np9mi7
Дата 19.4.2005, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

Репутация: нет
Всего: 10



ДА ХОЧУ ЧТОБ СЕРВАК МНЕ СОРТИРОВАЛ А НЕ КЛИЕНТ!!!!!!!!!!!!!


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
Akina
Дата 19.4.2005, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



np9mi7
Ты вообще как??? сервер и будет сортировать - по запросу...
или до сих пор не знаешь что такое реляционные базы?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
np9mi7
Дата 19.4.2005, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

Репутация: нет
Всего: 10



Да вообще то знаю, блин да понятно что все запросы обрабатывает сервер, но хотелось бы ткнуться а там уже все как надо...Можно?


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
Akina
Дата 19.4.2005, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Цитата(np9mi7 @ 19.4.2005, 12:14)
хотелось бы ткнуться а там уже все как надо...Можно?

нет. пойми, наконец, что НА СЕРВЕРЕ нет порядка следования записей - и именно потому тебя и посылают нахрен. Более того, если сделать вьюв типа

Код

create view vSome as
select TOP 10 *
from tSome
order by theDateTime
go


и взять его контент запросом

Код

Select * From vSome

то в полученном рекордсете записи НЕ БУДУТ отсортированы по theDateTime !!!

И это ПРАВИЛЬНО.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
stron
Дата 19.4.2005, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Консультант
***


Профиль
Группа: Комодератор
Сообщений: 1654
Регистрация: 17.7.2003
Где: Питер

Репутация: нет
Всего: 36



Тогда напиши хранимку


--------------------
подписи нет
PM ICQ   Вверх
np9mi7
Дата 19.4.2005, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

Репутация: нет
Всего: 10



ладно, убедил, буду на клиенте.....
а по поводу хранимки подумаю


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
stron
Дата 19.4.2005, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Консультант
***


Профиль
Группа: Комодератор
Сообщений: 1654
Регистрация: 17.7.2003
Где: Питер

Репутация: нет
Всего: 36



А чё тут думать
Код

create procedure vSome as
select
    *
from
    tSome
order by theDateTime
go

и вызывать
Код

exec vSome




--------------------
подписи нет
PM ICQ   Вверх
Akina
Дата 19.4.2005, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Цитата(np9mi7 @ 19.4.2005, 12:27)
ладно, убедил, буду на клиенте.....

Не, я что-то не понимаю, чем тебя так напрягает добавление в строку запроса на клиенте ORDER BY?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
np9mi7
  Дата 19.4.2005, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

Репутация: нет
Всего: 10



Да в принци (е) пи (е) ничем не напрягает...

Так, просто хотелось узнать можно или нет....

Не, а у меня проблема с пониманием истинного смысла представлений, действительно это просто мега склейка множества таблиц, нафига ей сортировать, ей просто это не нужно, ей нужно представить данные а не разбираться в них....это уже задача клиента представления, будь то хранимая или просто recordset....

Открыли глаза на представления.... спасибо!

Это сообщение отредактировал(а) np9mi7 - 19.4.2005, 12:10


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
Akina
Дата 19.4.2005, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Цитата(np9mi7 @ 19.4.2005, 13:05)
у меня проблема с пониманием истинного смысла представлений

Основное назначение вьювов - отделение клиента от таблиц и разграничение доступа. Как я это понимаю...

PS. Не надо меня пинать и поправлять - заранее согласен. Однако смысл и назначение - вещи разные.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
stron
Дата 19.4.2005, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Консультант
***


Профиль
Группа: Комодератор
Сообщений: 1654
Регистрация: 17.7.2003
Где: Питер

Репутация: нет
Всего: 36



А я в них составляю простенькие запросы


--------------------
подписи нет
PM ICQ   Вверх
np9mi7
  Дата 19.4.2005, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 17.8.2003
Где: Volgograd, Russia

Репутация: нет
Всего: 10



Цитата
Однако смысл и назначение - вещи разные.
, фр. это да smile

Это сообщение отредактировал(а) np9mi7 - 19.4.2005, 15:23


--------------------
"Я точно знаю то, что ничего не знаю..." Сократ.
evolution project
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0661 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.