Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

select top @N [MSSQL]


Vlad Oshin ©   (2008-05-04 14:24:00) 

Функция должна возвращать заранее неизвестное колво записей, на
select top @N
, где @N вход.параметр ругается

как быть?


DeadMeat   (2008-05-07 20:51:00) [1]

Понятно. Спасибо. Просто не понял, почему об этом не написано в BOL.


Ega23   (2008-05-07 09:43:00) [2]

DECLARE @p AS int
SET @p='10'
SELECT TOP(@p)*
FROM HumanResources.Employee;


Server: Msg 170, Level 15, State 1, Line 3
Line 3: Incorrect syntax near '('.

Так с 2005 можно.


DeadMeat   (2008-05-07 08:41:00) [3]

Простите что вмешиваюсь, но вопрос:
а разве это не работает в Sql2k:
USE AdventureWorks ;
GO
DECLARE @p AS int
SET @p='10'
SELECT TOP(@p)*
FROM HumanResources.Employee;
GO
В BOL об этом ничего не сказано (по крайней мере не нашел).


Anatoly Podgoretsky   (2008-05-04 16:15:00) [4]


> где @N вход.параметр ругается

Матом?
Решение Dynamic SQL


Ega23   (2008-05-04 14:50:00) [5]


> начальник тоже советует это


А в 2К по-другому - никак.


Vlad Oshin   (2008-05-04 14:47:00) [6]

да,

> 2000


начальник тоже советует это


Vlad Oshin   (2008-05-04 14:47:00) [7]

Удалено модератором


Vlad Oshin   (2008-05-04 14:47:00) [8]

Удалено модератором


Ega23   (2008-05-04 14:39:00) [9]

Версия сервера?
Если 2000 и ниже - только генерить динамический запрос.


Наверх

Титульная страница Поиск, карта сайта Написать письмо