2015-01-09 1 views
0

В настоящее время я пытаюсь использовать SSIS для создания копии производственной базы данных, ее переименования и рандомизации информации о клиентах в таблице клиентов (имя и фамилия) , Это может быть не самый лучший подход, но я пытаюсь взять все имена в производственной базе данных и добавить их к одной переменной с именем FirstNames. Также делайте то же самое с LastNames. Я предвидел каким-то образом разбить эти переменные в отдельном компоненте скрипта на какую-то коллекцию для каждого. Для каждой записи клиента я хотел случайно выбрать первое имя из коллекции FirstNames и заменить фактическое имя на это. Я также хочу сделать то же самое с фамилией. Я пробовал использовать строковые переменные и создавал их через компонент сценария с разделителем и собирался сделать разделение на разделителе в другом компоненте скрипта, чтобы заполнить коллекцию, но процесс построения строковых переменных тоже проходил и я могу понять это, потому что мы говорим о 500 000 первых имен и фамилий. Я пробовал использовать объектные переменные, но я не могу понять, как оттуда вытащить все из коллекции.Выполнение проблем при попытке рандомизировать имена клиентов для базы данных тестирования

Мне нужно знать, как разбить переменную объекта в коллекцию или более эффективный подход для выполнения этой задачи.

+1

В отличие от сайтов форума, мы не используем «Спасибо» или «Любая помощь приветствуется», или подписи на [так]. См. «[Должны ли« Привет »,« спасибо », теги и приветствия удалены из сообщений?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be -removed-from-posts). –

ответ

0

Попробуйте

UPDATE a SET 
    a.FirstName = (
     SELECT TOP 1 f.FirstName 
     FROM Customers f 
     WHERE f.CustomerId <> a.CustomerId 
     ORDER BY NEWID()), 
    a.LastName = (
     SELECT TOP 1 f.LastName 
     FROM Customers f 
     WHERE f.CustomerId <> a.CustomerId 
     ORDER BY NEWID()) 
from Customers a 

Я не могу говорить с производительностью, но вы не можете получить гораздо проще, чем это. Каждый раз, когда вы его запускаете, вы получите другой результат.

Надежда, что помогает

+0

Вы знаете, сразу после того, как я отправил на помощь, я подумал о написании хранимой процедуры вместо того, чтобы пытаться выполнить все из компонентов скрипта SSIS. Есть еще несколько полей, которые мне нужно изменить, а также , но я определенно использую то, что вы написали для имени и фамилии. Спасибо за помощь. – dmcnair81

Смежные вопросы