Как ограничить количество строк в задаче потока данных служб SSIS? - PullRequest
2 голосов
/ 29 июня 2010

У меня есть источник Oracle, и я получаю всю таблицу, и она копируется в таблицу SQL Server 2008, которая выглядит так же.Просто для тестирования, я хотел бы получить только часть таблицы.

В старых пакетах DTS в разделе Параметры преобразования данных я мог установить номер первой и последней записи, и он получал бы только столько записей.

Если бы я делал запросЯ мог бы изменить его на выбор топ-5000 или установить rowcount 5000 наверху (возможно? Это источник Oracle).Но я беру всю таблицу.

Как ограничить количество строк при выборе таблицы Oracle?

Ответы [ 2 ]

0 голосов
/ 29 июня 2010

Прошло много времени с тех пор, как я коснулся pl / sql, но я думаю, что вы могли бы просто поместить условие where в "rownum <= n", где n = количество строк, которое вы хотите для своего образца. ROWNUM - это псевдостолбец, который существует в каждой таблице Oracle. , , это удобная функция для подобных задач (она эквивалентна функции row_number () t-sql без возможности разбивать и сортировать (я думаю). Это избавит вас от необходимости вносить всю таблицу в память: </p>

select col1, col2
from tableA
where rownum <= 10;

Для справки в будущем (и только потому, что я работал с ней в последнее время), эквивалентом DB2 для этого является предложение «только первый выбор» в конце оператора:

select col1, col2
from tableA
fetch first 10 only;

Надеюсь, я не был слишком далеко от базы.

0 голосов
/ 29 июня 2010

Мы можем использовать компонент rowcount в потоке данных и после того, как компонент сделает User :: rowCount <= 500 в условии ограничения предшествования при выполнении привязки к цели. Всякий раз, когда число> 500, процесс останавливается, чтобы вставить данные в целевую таблицу.

спасибо

Правдин

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...