Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите!!! SELECT TOP @quant * FROM Operators Оно не работает, а очень надо.
|
|||
|---|---|---|---|
|
#18+
Люди знающие помогите пожалуйста. Ситуёвина следующаая, мне нужно чтобы хранимая процедура далала выборку из таблицы нескольких первых записей. Причём количество этих щаписей является переменной величиной и зхадаваемой из вне. В упрощённом виде код вот такой: CREATE PROCEDURE dbo.sp_BillHeader (@Inf int)AS SELECT TOP @Quant * FROM BillHeader GO Если написать вместо @Quant какое либо число то всё пашет. Но это меня не устраивает. Как я понимаю дело в то что SQL создаёт сначало макет процедуры. А сделать он этого не может так как неизвестно количество строк в запросе. Помогите, кто чем может. Желательно на примере. Зарание всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2002, 08:35 |
|
||
|
Помогите!!! SELECT TOP @quant * FROM Operators Оно не работает, а очень надо.
|
|||
|---|---|---|---|
|
#18+
CREATE PROCEDURE dbo.sp_BillHeader (@Inf int, @Quant int=0)AS SET ROWCOUNT @Quant SELECT * FROM BillHeader SET ROWCOUNT 0 IF @Quant > 0 exec('SELECT TOP '+CAST(@Quant AS varchar)+ ' * FROM BillHeader') GO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2002, 08:45 |
|
||
|
Помогите!!! SELECT TOP @quant * FROM Operators Оно не работает, а очень надо.
|
|||
|---|---|---|---|
|
#18+
Выхода два. 1. Dynamic SQL. Создать SQL запрос "налету". Далее исполнить через sp_executesql 2. Использовать set rowcount @n. Но тут есть нюансы со сложными запросами. Счастливо. P.S. Классическая задача для web: вернуть столько записей, сколько клиент реально может просмотреть из общего, как правило, большого числа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2002, 09:01 |
|
||
|
Помогите!!! SELECT TOP @quant * FROM Operators Оно не работает, а очень надо.
|
|||
|---|---|---|---|
|
#18+
Спасибо всем огромное. с вариантом SET ROWCOUNT @Quant SELECT * FROM BillHeader SET ROWCOUNT 0 всё заработало. Следующий способ не помог, так как у меня на самом деле достаточно сложный запрос и там возникают разные глюки. Ещё раз огромное всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2002, 10:51 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32024920&tid=1823601]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
134ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 425ms |

| 0 / 0 |
