Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Выборка в SSIS  [new]
GarTer
Member

Откуда:
Сообщений: 21
Добрый день. Подскажите какой элемент в SSIS служит для выборка ветки? Т.е. Если например таблица пустая, то сделат полную загрузку, а если полная то только дописать данные.
9 сен 14, 15:13    [16554788]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
msLex
Member

Откуда:
Сообщений: 8205
GarTer,

"стрелочки" соединяющее таски в controlflow.
9 сен 14, 15:32    [16554923]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
gang
Member

Откуда:
Сообщений: 1394
GarTer,

Гляньте выражения в Precedence Constraints. Выражение строится на анализе значений переменных. Заполнить переменные значениями эквивалентными "пустая таблица" и "дописать данные" в вашем случае, скорее всего, поможет Execute SQL Task с выходными параметрами.
9 сен 14, 15:36    [16554960]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
Нужно сделать SELECT COUNT(*) в переменную , сделать переход по условию. Условие задаётся на стрелке
9 сен 14, 15:38    [16554978]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
Glory
Member

Откуда:
Сообщений: 104760
GarTer
Т.е. Если например таблица пустая, то сделат полную загрузку, а если полная то только дописать данные.

А сразу сделать MERGE не судьба ?
9 сен 14, 15:38    [16554980]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
gang
Member

Откуда:
Сообщений: 1394
Glory
GarTer
Т.е. Если например таблица пустая, то сделат полную загрузку, а если полная то только дописать данные.

А сразу сделать MERGE не судьба ?

Не факт что под "сделат полную загрузку" и "только дописать данные" у ТС реально только единственная операция реализуемая на TSQL.
9 сен 14, 15:44    [16555036]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
Glory
Member

Откуда:
Сообщений: 104760
gang
Glory
пропущено...

А сразу сделать MERGE не судьба ?

Не факт что под "сделат полную загрузку" и "только дописать данные" у ТС реально только единственная операция реализуемая на TSQL.

По-моему в SSIS тоже есть Merge. Только называется по-другому. Lookup что ли
9 сен 14, 15:48    [16555081]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
gang
Member

Откуда:
Сообщений: 1394
Glory
gang
пропущено...

Не факт что под "сделат полную загрузку" и "только дописать данные" у ТС реально только единственная операция реализуемая на TSQL.

По-моему в SSIS тоже есть Merge. Только называется по-другому. Lookup что ли

В SSIS есть и Lookup и Merge - это трансформации уровня потока данных, они работают уже с наборами данных (в памяти или в доступных источниках и/или получателях данных). На практике же очень часто нужно и полезно управлять не поведением потока данных, а потоком задач. Например, при определенных условиях вообще не получать данные из какого-то из источников и не тратить время/ресурсы на выполнение потока данных. Пример, близкий к постановке задачи ТС: если какие-то данные в таблице-получателе уже есть, то получать данные только из инкрементального источника (не обязательно СУБД, может быть Шара или FTP), если нет - сначала прокачать данные из архивного источника, а затем перейти к инкрементальному.
9 сен 14, 16:05    [16555242]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
Glory
Member

Откуда:
Сообщений: 104760
gang
В SSIS есть и Lookup и Merge -

Ну тогда почему вы говорили про "единственная операция реализуемая на TSQL."

gang
Пример, близкий к постановке задачи ТС: если какие-то данные в таблице-получателе уже есть, то получать данные только из инкрементального источника (не обязательно СУБД, может быть Шара или FTP), если нет - сначала прокачать данные из архивного источника, а затем перейти к инкрементальному.

Это спекуляции.
В оргинальной постановке ничего этого нет.
9 сен 14, 16:11    [16555295]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
gang
Member

Откуда:
Сообщений: 1394
Glory
Ну тогда почему вы говорили про "единственная операция реализуемая на TSQL."

Потому, что ваш подход с Merge или Lookup, с некоторыми оговорками, может быть применим только в случае когда дело уже дошло до объединения наборов данных.
В зависимости от того, где хранятся объединяемые наборы, само объединение можно выполнить как средствами Merge или Lookup (если 1 из наборов еще не в таблице БД), или на TSQL если оба уже в базе. При этом 1й вариант элементарно сводится ко второму путем записи обоих датасетов в таблицы БД.

Glory
gang
Пример, близкий к постановке задачи ТС

Это спекуляции.
В оргинальной постановке ничего этого нет.

1. Это не спекуляция, а иллюстрация для "плавающего" в теме: какая именно ситуация могла поставить перед ТС исходный вопрос "какой элемент в SSIS служит для выборка ветки?"
2. Про Merge и Lookup в оригинальной постановке тоже ни слова и уж точно ни один из них не "элемент в SSIS для выборка ветки"
9 сен 14, 17:19    [16555787]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
Glory
Member

Откуда:
Сообщений: 104760
gang
1. Это не спекуляция, а иллюстрация для "плавающего" в теме: какая именно ситуация могла поставить перед ТС исходный вопрос "какой элемент в SSIS служит для выборка ветки?"

Это спекуляции над задачей ТС-а

gang
Потому, что ваш подход с Merge или Lookup, с некоторыми оговорками, может быть применим только в случае когда дело уже дошло до объединения наборов данных.

И что ? причем тут " только единственная операция реализуемая на TSQL.", если Merge и Lookup - это логические операции SSIS
9 сен 14, 17:23    [16555812]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
Glory
А сразу сделать MERGE не судьба ?


Если на одном серваке, то судьба, а вот если на разных?
9 сен 14, 18:48    [16556218]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
Glory
Member

Откуда:
Сообщений: 104760
a_voronin
Glory
А сразу сделать MERGE не судьба ?


Если на одном серваке, то судьба, а вот если на разных?

У TSQL нет эксклюзивных прав использование слова Merge .
9 сен 14, 21:56    [16556713]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
gang
Member

Откуда:
Сообщений: 1394
Glory
gang
1. Это не спекуляция, а иллюстрация для "плавающего" в теме: какая именно ситуация могла поставить перед ТС исходный вопрос "какой элемент в SSIS служит для выборка ветки?"

Это спекуляции над задачей ТС-а

Не более чем Ваше предложение вместо управления потоком задач, о котором писал в исходном вопросе ТС, MERGE-ть данные.
Glory
gang
Потому, что ваш подход с Merge или Lookup, с некоторыми оговорками, может быть применим только в случае когда дело уже дошло до объединения наборов данных.

И что ? причем тут " только единственная операция реализуемая на TSQL.", если Merge и Lookup - это логические операции SSIS

Где вы нашли такие понятия как "логические операции SSIS"? Merge и Lookup это преобразования данных (aka transformations). Если Вы что-то недопоняли в моих предыдущих постах подтяните матчасть и перечитайте еще раз. Флеймить в ответ на вопрос в стиле "и что?" смысла не вижу.
10 сен 14, 09:27    [16557527]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
Glory
Member

Откуда:
Сообщений: 104760
gang
Не более чем Ваше предложение вместо управления потоком задач, о котором писал в исходном вопросе ТС, MERGE-ть данные.

Я не спекулирую про число источников данных и подгрузки, то из какого то архива, то откуда-то еще

gang
Где вы нашли такие понятия как "логические операции SSIS"?

Придумал. Для того, чтобы подчеркунуть, что это НЕ TSQL

gang
Если Вы что-то недопоняли в моих предыдущих постах подтяните матчасть и перечитайте еще раз.

Это к вам относится. Для вас тоже повторю "У TSQL нет эксклюзивных прав использование слова Merge"
10 сен 14, 09:31    [16557548]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
gang
Member

Откуда:
Сообщений: 1394
Glory
gang
Не более чем Ваше предложение вместо управления потоком задач, о котором писал в исходном вопросе ТС, MERGE-ть данные.

Я не спекулирую про число источников данных и подгрузки, то из какого то архива, то откуда-то еще

Действительно, к чему такие сложности. Лучше уж спекулировать по крупному: вместо ответа на конкретный вопрос ТС предлагать свой вариант задачи.

Glory
gang
Где вы нашли такие понятия как "логические операции SSIS"?

Придумал. Для того, чтобы подчеркунуть, что это НЕ TSQL

Красава =) "И эти люди запрещают мне ковырять в носу" (с)

Glory
gang
Если Вы что-то недопоняли в моих предыдущих постах подтяните матчасть и перечитайте еще раз.

Это к вам относится. Для вас тоже повторю "У TSQL нет эксклюзивных прав использование слова Merge"

Ну раз уж пошли на второй круг, то и я Вам повторно разжую. Я нигде не писал, что MERGE - это инструкция TSQL, я писал: "операция реализуемая на TSQL". Дело не в названии трансформации (Merge, Looklup, Union, Merge Join), и не в том, что похожие слова есть в TSQL, а в том, что это трансформация. И выполняет эта трансформация объединение датасетов, что не менее качественно умеет и TSQL. И только в том случае, если разделение понятий "полная загрузка" и "дописать данные" можно выразить через логику объединения датасетов, можно попробовать решить задачу TC на уровне трансформации (например MERGE). Помимо же потока данных (DataFlow) с трансформациями, пакет также может, и, в подавляющем большинстве случаев, содержит задачи, которые в потоке данных реализовать нельзя и нельзя свести к задачам обработки наборов данных средствами TSQL. Например, получение файлов с FTP, профилирование данных, контейнеры задач и т.п. Для определения, какие из них должны выполниться используются Precedence Constraints. И уж никак потоком задач не может управлять трансформация из потока данных.
10 сен 14, 10:19    [16557778]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
Glory
Member

Откуда:
Сообщений: 104760
gang
Ну раз уж пошли на второй круг, то и я Вам повторно разжую. Я нигде не писал, что MERGE - это инструкция TSQL, я писал: "операция реализуемая на TSQL".

А где я писал, что надо сделать MERGE на TSQL, не напомните ?

gang
И уж никак потоком задач не может управлять трансформация из потока данных.

Моя мысль и была в том, что не надо ничем управлять. А сделать Merge.
Потому что добавление всех записей от добавления/обновления части записей отличается только количеством записей.

gang
Действительно, к чему такие сложности. Лучше уж спекулировать по крупному: вместо ответа на конкретный вопрос ТС предлагать свой вариант задачи.

Я не спекулировал про то, откуда и сколько данных берет ТС.
Это вы придумали архивы и тп.
И тут продолжате рассуждать "пакет также может, и, в подавляющем большинстве случаев, содержит задачи, которые в потоке данных реализовать нельзя и нельзя свести к задачам обработки наборов данных средствами TSQL. " И опять про TSQL
10 сен 14, 10:25    [16557811]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
gang
Member

Откуда:
Сообщений: 1394
Glory
gang
Ну раз уж пошли на второй круг, то и я Вам повторно разжую. Я нигде не писал, что MERGE - это инструкция TSQL, я писал: "операция реализуемая на TSQL".

А где я писал, что надо сделать MERGE на TSQL, не напомните ?

А где я писал, что Вы писали, что надо сделать MERGE на TSQL, не напомните ?

Glory
gang
И уж никак потоком задач не может управлять трансформация из потока данных.

Моя мысль и была в том, что не надо ничем управлять.

В то время как вопрос ТС был в том, как управлять.

Glory
gang
Действительно, к чему такие сложности. Лучше уж спекулировать по крупному: вместо ответа на конкретный вопрос ТС предлагать свой вариант задачи.

Я не спекулировал про то, откуда и сколько данных берет ТС.

Тем не менее, Ваш вариант решения имеет смысл только при очень узком спектре вариантов "откуда и сколько данных берет ТС".
10 сен 14, 10:39    [16557880]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
Glory
Member

Откуда:
Сообщений: 104760
gang
А где я писал, что Вы писали, что надо сделать MERGE на TSQL, не напомните ?

16555036

gang
В то время как вопрос ТС был в том, как управлять.

Все управление ТС-а сводится к выбору между INSERT и UPDATE.
Которые Merge уже объединяет внутри себя.
10 сен 14, 10:44    [16557901]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
gang
Member

Откуда:
Сообщений: 1394
Glory
gang
А где я писал, что Вы писали, что надо сделать MERGE на TSQL, не напомните ?

16555036

Не нашел. Подчеркните, пожалуйста.

Glory
gang
В то время как вопрос ТС был в том, как управлять.

Все управление ТС-а сводится к выбору между INSERT и UPDATE.
Которые Merge уже объединяет внутри себя.

О каком MERGE вы говорите? Если о SSIS-ном, то он так не умеет. Его поведение ближе к sql-ному union.
TSQL-ный MERGE умеет, то о чем Вы пишите, но вы утверждаете, что не призываете делать MERGE на TSQL.
10 сен 14, 11:04    [16558003]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
Glory
Member

Откуда:
Сообщений: 104760
gang
О каком MERGE вы говорите? Если о SSIS-ном, то он так не умеет. Его поведение ближе к sql-ному union.
TSQL-ный MERGE умеет, то о чем Вы пишите, но вы утверждаете, что не призываете делать MERGE на TSQL.

И Lookup не умеет ?
10 сен 14, 11:06    [16558010]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
gang
Member

Откуда:
Сообщений: 1394
Glory
gang
О каком MERGE вы говорите? Если о SSIS-ном, то он так не умеет. Его поведение ближе к sql-ному union.
TSQL-ный MERGE умеет, то о чем Вы пишите, но вы утверждаете, что не призываете делать MERGE на TSQL.

И Lookup не умеет ?

Вы не уверены?
10 сен 14, 11:35    [16558183]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
Glory
Member

Откуда:
Сообщений: 104760
gang
Glory
пропущено...

И Lookup не умеет ?

Вы не уверены?

Да.
Спрашивать нельзя ?
10 сен 14, 11:39    [16558206]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
Диам
Member

Откуда:
Сообщений: 1443
зная манеры отвечать Glory жду, когда у gang иссякнет терпение и он перестанет препираться.
А пока запасся попкорном.
10 сен 14, 11:41    [16558237]     Ответить | Цитировать Сообщить модератору
 Re: Выборка в SSIS  [new]
gang
Member

Откуда:
Сообщений: 1394
Диам
зная манеры отвечать Glory жду, когда у gang иссякнет терпение и он перестанет препираться.
А пока запасся попкорном.

Зря, меня пока тонизирует -) Кстати за вход по полтинничку.
10 сен 14, 11:45    [16558270]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить