Конференция "Базы" » select top @N [MSSQL]
 
  • Vlad Oshin © (04.05.08 14:24) [0]
    Функция должна возвращать заранее неизвестное колво записей, на
    select top @N
    , где @N вход.параметр ругается

    как быть?
  • Ega23 © (04.05.08 14:39) [1]
    Версия сервера?
    Если 2000 и ниже - только генерить динамический запрос.
  • Vlad Oshin © (04.05.08 14:47) [2]
    да,

    > 2000


    начальник тоже советует это
  • Vlad Oshin © (04.05.08 14:47) [3]
    Удалено модератором
  • Vlad Oshin © (04.05.08 14:47) [4]
    Удалено модератором
  • Ega23 © (04.05.08 14:50) [5]

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


    А в 2К по-другому - никак.
  • Anatoly Podgoretsky © (04.05.08 16:15) [6]

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

    Матом?
    Решение Dynamic SQL
  • DeadMeat © (07.05.08 08:41) [7]
    Простите что вмешиваюсь, но вопрос:
    а разве это не работает в Sql2k:
    USE AdventureWorks ;
    GO
    DECLARE @p AS int
    SET @p='10'
    SELECT TOP(@p)*
    FROM HumanResources.Employee;
    GO
    В BOL об этом ничего не сказано (по крайней мере не нашел).
  • Ega23 © (07.05.08 09:43) [8]
    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 (07.05.08 20:51) [9]
    Понятно. Спасибо. Просто не понял, почему об этом не написано в BOL.
 
Конференция "Базы" » select top @N [MSSQL]
Есть новые Нет новых   [134432   +19][b:0][p:0.001]