Witam serdecznie,
mam problem z procedurą generującą dane na podstawie słowników oraz wartości losowych. Otóż mam tabelę CRM_DIM_ACCOUNTS, która liczy 1000 rekordów. Istnieje tam pole ACCOUNT_TYPE_ID, w którym są 3 wartości: 1 - konto indywidualne, 2 - konto rodzinne, 3 - konto firmowe.
Problem pojawia się gdy chcę wypełnić danymi tabelę CRM_DIM_CUSTOMERS. Ta tabela ma liczyć 1500 rekordów. W tej tabeli znajduje się pole ACCOUNT_ID, które jest kluczem głównym w tabeli CRM_DIM_ACCOUNTS. Kont jest 1000, a klientów ma być 1500, więc niektórzy klienci muszą być podpięci do jednego konta (rodzinnego albo firmowego). Mój pomysł jest taki, aby wykorzystać wszystkie 1000 kont, w ten sposób będę mieć już 1000 klientów, 500 zostaje bez określonego ACCOUNT_ID. Następnie do tych 500 klientów chce uzupełnić takimi ACCOUNT_ID, które w tabeli CRM_DIM_ACCOUNTS w polu ACCOUNT_TYPE_ID mają wartość 2 lub 3. No i tak, jeżeli konto jest firmowe, to mogę do niego podpiąć od 5 do 20 klientów, a jeżeli jest to konto rodzinne to mogę podpiąć od 2 do 5 osób. Należy także pamiętać aby do wszystkich kont była podpięta odpowiednia liczba klientów, np. jeżeli jest konto rodzinne to musi być do niego podpięte min. 2 osoby, a jeżeli firmowe to min 5.

Wstawiłem kod całej procedury, a w 93 linijce zacząłem losowanie tych ACCOUNT_ID, jednak nie wiem w jaki racjonalny sposób to zrobić :/

Bardzo proszę o pomoc w rozwiązaniu. Poniżej link to pastebin, gdzie wkleiłem kod:

Link do kodu