У меня есть параметр в моей хранимой процедуре, который указывает количество строк для выбора. (Возможные значения:. 0-100 0 Средства Выбрать все строки)Использовать верхнюю часть на основе условия
Для примера @Rows = 5;
Тогда я могу сделать это:
Insert into @MyTableVar
Select Top(@Rows) *
from myTable
Теперь, как я уже говорил, если 0 подается Мне нужно вернуть все строки.
Это псевдо-код, что мне нужно:
if (@Rows=0) then select * else select top(@Rows) *
я узнал, что есть SET ROWCOUNT, который принимает от 0 до возврата всех строк, но мне нужно сделать вставку в табличную переменную, которая не поддерживается ROWCOUNT
.
Можно ли достичь этого без динамического sql?
(Я понимаю, что я могу написать простой, если другое заявление и продублировать запрос, но у меня есть довольно сложные запросы, и есть много оптоволоконный них, я просто хочу, чтобы избежать дублирования кода)